
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */

bfd_boolean __regparm3
process_debug_info(dwarf_section *section,void *file,dwarf_section_display_enum abbrev_sec,
                  bfd_boolean do_loc,bfd_boolean do_types)

{
  uchar *puVar1;
  uint uVar2;
  ulong uVar3;
  abbrev_entry *paVar4;
  undefined *puVar5;
  dwarf_vma *pdVar6;
  dwarf_signed_vma implicit_const;
  int iVar7;
  byte bVar8;
  dwarf_section *pdVar9;
  uint uVar10;
  int iVar11;
  dwarf_section *pdVar12;
  char *pcVar13;
  uint uVar14;
  ulong uVar15;
  uchar *puVar16;
  char *pcVar17;
  uchar *puVar18;
  char *pcVar19;
  bool bVar20;
  dwarf_section *section_1;
  int iVar21;
  uint uVar22;
  uchar *puVar23;
  debug_info *pdVar24;
  abbrev_attr *paVar25;
  uchar *end;
  cu_tu_set *this_set;
  elf_vma eVar26;
  elf_vma eVar27;
  dwarf_vma dVar28;
  char *in_stack_fffffee8;
  uchar *puVar29;
  undefined8 local_104;
  uchar *local_f4;
  dwarf_section *local_f0;
  undefined8 local_ec;
  ushort local_e2;
  dwarf_section *local_d4;
  uint local_cc;
  ulonglong local_bc;
  int local_b4;
  dwarf_section *local_b0;
  dwarf_section *local_ac;
  uint local_a4;
  uint local_a0;
  uint local_9c;
  int local_98;
  uint local_90;
  dwarf_section *local_78;
  dwarf_section *local_70;
  dwarf_vma signature_high;
  dwarf_vma signature_low;
  char buf [64];
  
  puVar1 = section->start;
  end = puVar1 + (int)section->size;
  if (do_loc == 0) {
    if ((do_debug_loc == 0 && do_debug_ranges == 0) ||
       (do_types != 0 || num_debug_info_entries != 0)) {
      local_90 = 0;
    }
    else {
LAB_00056b86:
      local_90 = 0;
      puVar29 = puVar1;
      if (end <= puVar1) {
LAB_00057e2b:
        pcVar13 = section->name;
        pcVar17 = (char *)dcgettext(0,"No comp units in %s section ?\n",5);
        error(pcVar17,pcVar13);
        return 0;
      }
      do {
        puVar18 = puVar29 + 4;
        if (end <= puVar18) {
          pdVar12 = (dwarf_section *)(end + -(int)puVar29);
          pdVar9 = (dwarf_section *)in_stack_fffffee8;
          if ((undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)
          goto LAB_000570ed;
LAB_00056bdb:
          in_stack_fffffee8 = (char *)pdVar9;
          uVar10 = 0;
LAB_00056bdf:
          pcVar17 = section->name;
          pcVar19 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);
          pcVar13 = "Corrupt unit length (0x%s) found in section %s\n";
LAB_00056c0d:
          pcVar13 = (char *)dcgettext(0,pcVar13,5);
          warn(pcVar13,pcVar19,pcVar17);
          return 0;
        }
        pdVar12 = (dwarf_section *)0x4;
LAB_000570ed:
        eVar26 = (*byte_get)(puVar29,(int)pdVar12);
        uVar10 = (uint)eVar26;
        if (eVar26 == 0xffffffff) {
          if (puVar29 + 0xc < end) {
            in_stack_fffffee8 = (char *)0x8;
          }
          else {
            pdVar9 = pdVar12;
            if ((end <= puVar18) ||
               (in_stack_fffffee8 = (char *)(end + -(int)puVar18),
               (undefined1 *)0x7 <
               (undefined1 *)
               ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U)))
            goto LAB_00056bdb;
          }
          eVar26 = (*byte_get)(puVar18,(int)in_stack_fffffee8);
          uVar10 = (uint)eVar26;
          puVar29 = puVar29 + uVar10 + 0xc;
          bVar20 = puVar29 < puVar1 || (int)uVar10 < 1;
        }
        else {
          local_104._4_4_ = (int)(eVar26 - 0xfffffff0 >> 0x20);
          if (local_104._4_4_ == 0 && (uint)(0xe < (uint)local_104) <= (uint)-local_104._4_4_) {
            pcVar17 = section->name;
            pcVar19 = dwarf_vmatoa_1("x",ZEXT48(pdVar12) << 0x20,uVar10);
            pcVar13 = "Reserved length value (0x%s) found in section %s\n";
            goto LAB_00056c0d;
          }
          puVar29 = puVar29 + uVar10 + 4;
          bVar20 = (int)uVar10 < 1 || puVar29 < puVar1;
          in_stack_fffffee8 = (char *)pdVar12;
          local_104 = eVar26 - 0xfffffff0;
        }
        if (bVar20) goto LAB_00056bdf;
        local_90 = local_90 + 1;
      } while (puVar29 < end);
      if (local_90 == 0) goto LAB_00057e2b;
      if (0x3333332 < local_90) {
        debug_information = (debug_info *)0x0;
        pcVar13 = (char *)dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);
        error(pcVar13,local_90);
        alloc_num_debug_info_entries = 0;
        num_debug_info_entries = 0;
        return 0;
      }
      debug_information = (debug_info *)xmalloc(local_90 * 0x50);
      in_stack_fffffee8 = (char *)0x0;
      memset(debug_information,0,local_90 * 0x50);
      alloc_num_debug_info_entries = local_90;
      if (do_loc != 0) {
        puVar29 = (uchar *)0x571d3;
        load_debug_section_with_follow(abbrev_sec,file);
        if (*(int *)(&DAT_000b4850 + abbrev_sec * 0x40) == 0) goto LAB_00057bf6;
        do_types = 0;
        goto LAB_0005662b;
      }
    }
    load_debug_section_with_follow(str,file);
    load_debug_section_with_follow(line_str,file);
    load_debug_section_with_follow(str_dwo,file);
    load_debug_section_with_follow(str_index,file);
    load_debug_section_with_follow(str_index_dwo,file);
    load_debug_section_with_follow(debug_addr,file);
    puVar29 = (uchar *)0x565e3;
    load_debug_section_with_follow(abbrev_sec,file);
    if (*(int *)(&DAT_000b4850 + abbrev_sec * 0x40) == 0) {
LAB_00057bf6:
      puVar5 = (&debug_displays)[abbrev_sec * 0x10];
      pcVar13 = (char *)dcgettext(0,"Unable to locate %s section!\n",5);
      warn(pcVar13,puVar5);
      return 0;
    }
    if (dwarf_start_die == 0) {
      puVar29 = (uchar *)0x57d63;
      introduce((dwarf_section *)section->name,(bfd_boolean)&section->filename,section_1);
    }
    if (puVar1 < end) {
LAB_0005662b:
      local_a4 = 0;
      local_f4 = puVar1;
      do {
        signature_high._0_4_ = (char *)0x0;
        signature_high._4_4_ = 0;
        signature_low._0_4_ = 0;
        puVar18 = local_f4 + 4;
        signature_low._4_4_ = 0;
        puVar16 = puVar18;
        if (puVar18 < end) {
          pdVar9 = (dwarf_section *)0x4;
LAB_00056d25:
          local_ec = (*byte_get)(local_f4,(int)pdVar9);
          if (local_ec == 0xffffffff) {
            puVar16 = local_f4 + 0xc;
            if (puVar16 < end) {
              in_stack_fffffee8 = (char *)0x8;
            }
            else if ((end <= puVar18) ||
                    (in_stack_fffffee8 = (char *)(end + -(int)puVar18),
                    (undefined1 *)0x7 <
                    (undefined1 *)
                    ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U))) {
              local_cc = 0xc;
              puVar23 = local_f4 + 0xe;
              local_d4 = (dwarf_section *)0xc;
              local_f0 = (dwarf_section *)0x8;
              in_stack_fffffee8 = (char *)pdVar9;
              goto joined_r0x00056d9b;
            }
            puVar23 = local_f4 + 0xe;
            local_ec = (*byte_get)(puVar18,(int)in_stack_fffffee8);
            local_cc = 0xc;
            local_d4 = (dwarf_section *)0xc;
            local_f0 = (dwarf_section *)0x8;
          }
          else {
            puVar23 = local_f4 + 6;
            local_cc = 4;
            local_d4 = (dwarf_section *)0x4;
            local_f0 = (dwarf_section *)0x4;
            in_stack_fffffee8 = (char *)pdVar9;
          }
          if (puVar23 < end) {
            pdVar9 = (dwarf_section *)0x2;
          }
          else if ((end <= puVar16) ||
                  (pdVar9 = (dwarf_section *)(end + -(int)puVar16),
                  (undefined1 *)0x7 < (undefined1 *)((int)&pdVar9[-1].user_data + 3U)))
          goto LAB_00056db1;
LAB_000566e9:
          eVar26 = (*byte_get)(puVar16,(int)pdVar9);
          local_e2 = (ushort)eVar26;
          in_stack_fffffee8 = (char *)pdVar9;
        }
        else {
          pdVar9 = (dwarf_section *)(end + -(int)local_f4);
          if ((undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8)
          goto LAB_00056d25;
          local_cc = 4;
          puVar23 = local_f4 + 6;
          local_d4 = (dwarf_section *)0x4;
          local_f0 = (dwarf_section *)0x4;
joined_r0x00056d9b:
          if (puVar23 < end) {
            pdVar9 = (dwarf_section *)0x2;
            local_ec = 0;
            goto LAB_000566e9;
          }
          local_ec = 0;
LAB_00056db1:
          local_e2 = 0;
        }
        uVar10 = (int)local_f4 - (int)puVar1;
        iVar11 = (int)uVar10 >> 0x1f;
        if (do_types == 0) {
          iVar21 = 1;
          iVar7 = cu_count;
          this_set = cu_sets;
        }
        else {
          iVar21 = 2;
          iVar7 = tu_count;
          this_set = tu_sets;
        }
        for (; iVar7 != 0; iVar7 = iVar7 + -1) {
          if (iVar11 == *(int *)((int)this_set->section_offsets + iVar21 * 8 + 4) &&
              uVar10 == (uint)this_set->section_offsets[iVar21]) goto joined_r0x0005676e;
          this_set = this_set + 1;
        }
        this_set = (cu_tu_set *)0x0;
joined_r0x0005676e:
        if (local_e2 < 5) {
          local_b4 = 1;
          bVar8 = 0xff;
          pdVar9 = (dwarf_section *)in_stack_fffffee8;
joined_r0x000567df:
          puVar18 = puVar23 + (int)local_f0;
          in_stack_fffffee8 = (char *)local_f0;
          if ((puVar18 < end) ||
             ((puVar23 < end &&
              (in_stack_fffffee8 = (char *)(end + -(int)puVar23),
              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar23))[-1].user_data + 3U) <
              (undefined1 *)0x8)))) goto LAB_00056caa;
LAB_000567f7:
          eVar26 = 0;
          in_stack_fffffee8 = (char *)pdVar9;
          eVar27 = 0;
          if (this_set != (cu_tu_set *)0x0) goto LAB_0005680f;
LAB_00056cce:
          eVar26 = eVar27;
          local_9c = 0;
          local_98 = 0;
          local_ac = *(dwarf_section **)(&DAT_000b485c + abbrev_sec * 0x40);
        }
        else {
          puVar18 = puVar16 + 3;
          if (puVar18 < end) {
            pdVar9 = (dwarf_section *)0x1;
LAB_00057245:
            eVar26 = (*byte_get)(puVar23,(int)pdVar9);
            local_b4 = (int)eVar26;
            do_types = (bfd_boolean)(local_b4 == 2);
            pdVar12 = (dwarf_section *)0x1;
            if ((puVar16 + 4 < end) ||
               ((puVar18 < end &&
                (pdVar12 = (dwarf_section *)(end + -(int)puVar18),
                (undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)))) {
LAB_000567c4:
              puVar23 = puVar16 + 4;
              eVar26 = (*byte_get)(puVar18,(int)pdVar12);
              bVar8 = (byte)eVar26;
              pdVar9 = pdVar12;
              goto joined_r0x000567df;
            }
          }
          else {
            if ((puVar23 < end) &&
               (pdVar9 = (dwarf_section *)(end + -(int)puVar23),
               (undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8))
            goto LAB_00057245;
            do_types = 0;
            local_b4 = 0;
            pdVar9 = (dwarf_section *)in_stack_fffffee8;
            if (puVar16 + 4 < end) {
              pdVar12 = (dwarf_section *)0x1;
              goto LAB_000567c4;
            }
          }
          puVar23 = puVar16 + 4;
          bVar8 = 0;
          puVar18 = puVar23 + (int)local_f0;
          in_stack_fffffee8 = (char *)local_f0;
          if (end <= puVar18) goto LAB_000567f7;
LAB_00056caa:
          eVar26 = (*byte_get)(puVar23,(int)in_stack_fffffee8);
          eVar27 = eVar26;
          if (this_set == (cu_tu_set *)0x0) goto LAB_00056cce;
LAB_0005680f:
          local_9c = (uint)this_set->section_offsets[3];
          local_98 = *(int *)((int)this_set->section_offsets + 0x1c);
          local_ac = (dwarf_section *)this_set->section_sizes[3];
        }
        puVar16 = puVar18;
        if (local_e2 < 5) {
          puVar16 = puVar18 + 1;
          if (puVar16 < end) {
            in_stack_fffffee8 = (char *)0x1;
LAB_00056c35:
            eVar27 = (*byte_get)(puVar18,(int)in_stack_fffffee8);
            bVar8 = (byte)eVar27;
            goto LAB_00056c57;
          }
          if ((puVar18 < end) &&
             (in_stack_fffffee8 = (char *)(end + -(int)puVar18),
             (undefined1 *)
             ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U) <
             (undefined1 *)0x8)) goto LAB_00056c35;
          in_stack_fffffee8 = (char *)0x0;
LAB_00056853:
          pcVar13 = (char *)dcgettext(0,
                                      "Invalid pointer size (%d) in compunit header, using %d instead\n"
                                      ,5);
          warn(pcVar13,in_stack_fffffee8,local_f0);
          bVar8 = (byte)local_f0;
        }
        else {
LAB_00056c57:
          if (6 < (byte)(bVar8 - 2)) {
            in_stack_fffffee8 = (char *)(uint)bVar8;
            goto LAB_00056853;
          }
        }
        local_bc._0_4_ = 0;
        if (do_types != 0) {
          puVar18 = puVar16 + 8;
          if (end < puVar18) {
            signature_high._0_4_ = (char *)0x0;
            signature_high._4_4_ = 0;
            signature_low._0_4_ = 0;
            signature_low._4_4_ = 0;
          }
          else {
            in_stack_fffffee8 = (char *)&signature_high;
            byte_get_64(puVar16,(elf_vma *)in_stack_fffffee8,&signature_low);
          }
          puVar16 = puVar18 + (int)local_f0;
          pdVar9 = local_f0;
          if ((puVar16 < end) ||
             ((local_bc._0_4_ = 0, puVar18 < end &&
              (pdVar9 = (dwarf_section *)(end + -(int)puVar18),
              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar18))[-1].user_data + 3U) <
              (undefined1 *)0x8)))) {
            eVar27 = (*byte_get)(puVar18,(int)pdVar9);
            local_bc._0_4_ = (uint)eVar27;
            in_stack_fffffee8 = (char *)pdVar9;
          }
        }
        uVar15 = dwarf_start_die;
        local_a0 = (uint)(eVar26 >> 0x20);
        local_b0 = (dwarf_section *)eVar26;
        uVar14 = (int)local_d4 + uVar10;
        if (local_ec._4_4_ + (uint)CARRY4(local_cc,(uint)local_ec) + iVar11 +
            (uint)CARRY4(local_cc + (uint)local_ec,uVar10) <
            (uint)(local_cc + (uint)local_ec + uVar10 < dwarf_start_die)) {
          local_f4 = puVar1 + uVar14 + (uint)local_ec;
        }
        else {
          if (do_loc == 0) {
            if ((do_debug_loc != 0 || do_debug_ranges != 0) && (num_debug_info_entries == 0)) {
LAB_00056993:
              if (do_types == 0) {
                pdVar24 = debug_information + local_a4;
                pdVar24->pointer_size = (uint)bVar8;
                *(int *)((int)&pdVar24->cu_offset + 4) = iVar11;
                *(uint *)&pdVar24->cu_offset = uVar10;
                pdVar24->offset_size = (uint)local_f0;
                pdVar24->dwarf_version = (uint)local_e2;
                *(undefined4 *)&pdVar24->base_address = 0;
                *(undefined4 *)((int)&pdVar24->base_address + 4) = 0;
                *(undefined4 *)&pdVar24->addr_base = 0xffffffff;
                *(undefined4 *)((int)&pdVar24->addr_base + 4) = 0;
                *(undefined4 *)&pdVar24->ranges_base = 0xffffffff;
                *(undefined4 *)((int)&pdVar24->ranges_base + 4) = 0;
                pdVar24->loc_offsets = (dwarf_vma *)0x0;
                pdVar24->have_frame_base = (int *)0x0;
                pdVar24->max_loc_offsets = 0;
                pdVar24->num_loc_offsets = 0;
                pdVar24->range_lists = (dwarf_vma *)0x0;
                pdVar24->max_range_lists = 0;
                pdVar24->num_range_lists = 0;
              }
              if (do_loc != 0) goto LAB_00056a44;
            }
            if (uVar15 == 0) {
              pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);
              pcVar13 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);
              printf(pcVar13);
              pcVar13 = "64-bit";
              if (local_f0 != (dwarf_section *)0x8) {
                pcVar13 = "32-bit";
              }
              pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar17) << 0x20,(uint)local_ec);
              pcVar19 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);
              printf(pcVar19,pcVar17,pcVar13);
              pcVar13 = (char *)dcgettext(0,"   Version:       %d\n",5);
              uVar22 = (uint)local_e2;
              printf(pcVar13);
              pcVar13 = dwarf_vmatoa_1("x",(ulonglong)uVar22 << 0x20,(uint)local_b0);
              pcVar17 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);
              printf(pcVar17,pcVar13);
              pcVar13 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);
              in_stack_fffffee8 = (char *)(uint)bVar8;
              printf(pcVar13);
              if (do_types != 0) {
                pcVar13 = dwarf_vmatoa64(CONCAT44(signature_low._4_4_,(undefined4)signature_low),
                                         CONCAT44(puVar29,buf),(char *)signature_high,
                                         signature_high._4_4_);
                pcVar17 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);
                printf(pcVar17);
                in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)local_bc);
                pcVar13 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);
                printf(pcVar13);
              }
              if (this_set != (cu_tu_set *)0x0) {
                pcVar13 = "   Section contributions:\n";
                pcVar17 = (char *)dcgettext(0,"   Section contributions:\n",5);
                printf(pcVar17);
                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[3]);
                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,
                                         (uint)this_set->section_offsets[3]);
                pcVar19 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);
                printf(pcVar19,pcVar13,pcVar17);
                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[4]);
                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,
                                         (uint)this_set->section_offsets[4]);
                pcVar19 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);
                printf(pcVar19,pcVar13,pcVar17);
                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[5]);
                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,
                                         (uint)this_set->section_offsets[5]);
                pcVar19 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);
                printf(pcVar19,pcVar13,pcVar17);
                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[6]);
                in_stack_fffffee8 =
                     dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)this_set->section_offsets[6]);
                pcVar13 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);
                printf(pcVar13,in_stack_fffffee8,pcVar17);
              }
            }
          }
          else if (num_debug_info_entries == 0) goto LAB_00056993;
LAB_00056a44:
          uVar22 = local_ec._4_4_ + (uint)CARRY4((uint)local_ec,uVar14);
          if ((uVar22 < ((uint)local_ec + uVar14 < uVar14)) ||
             (uVar2 = *(uint *)((int)&section->size + 4),
             uVar2 < uVar22 ||
             uVar2 - uVar22 < (uint)((uint)section->size < (uint)local_ec + uVar14))) {
            pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,(uint)local_ec);
            pcVar13 = section->name;
            pcVar19 = (char *)dcgettext(0,
                                        "Debug info is corrupted, %s header at %#lx has length %s\n"
                                        ,5);
            warn(pcVar19,pcVar13,uVar10,pcVar17);
            local_90 = local_a4;
            break;
          }
          local_f4 = local_f4 + (int)local_d4 + (uint)local_ec;
          if ((ushort)(local_e2 - 2) < 4) {
            if (local_b4 - 1U < 2) {
              puVar29 = (uchar *)0x572c5;
              free_abbrevs();
              if (local_a0 < (local_b0 < local_ac)) {
                iVar11 = abbrev_sec * 0x40;
                pcVar13 = *(char **)(&DAT_000b485c + iVar11);
                pdVar9 = (dwarf_section *)((int)&local_ac->uncompressed_name + local_9c);
                uVar14 = local_98 + (uint)CARRY4((uint)local_ac,local_9c);
                if (*(uint *)(&DAT_000b4860 + iVar11) < uVar14 ||
                    *(uint *)(&DAT_000b4860 + iVar11) - uVar14 <
                    (uint)(pcVar13 < (char *)((int)&local_ac->uncompressed_name + local_9c))) {
                  pcVar17 = (char *)dcgettext(0,
                                              "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"
                                              ,5);
                  warn(pcVar17,pdVar9,pcVar13);
                  in_stack_fffffee8 = (char *)pdVar9;
                }
                else if (first_abbrev == (abbrev_entry *)0x0) {
                  puVar29 = (uchar *)0x57341;
                  process_abbrev_section
                            ((uchar *)((int)&local_b0->uncompressed_name +
                                      *(int *)(&DAT_000b4850 + iVar11) + local_9c),
                             (uchar *)((int)&pdVar9->uncompressed_name +
                                      *(int *)(&DAT_000b4850 + iVar11)));
                }
              }
              else {
                pcVar13 = (char *)dcgettext(0,
                                            "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"
                                            ,5);
                warn(pcVar13,local_b0,local_ac);
                in_stack_fffffee8 = (char *)local_b0;
              }
              if (puVar16 < local_f4) {
                local_78 = (dwarf_section *)0xffffffff;
                local_70 = (dwarf_section *)0x0;
                local_d4 = (dwarf_section *)0x0;
                do {
                  pdVar12 = (dwarf_section *)(puVar16 + -(int)puVar1);
                  pdVar9 = (dwarf_section *)0x0;
                  in_stack_fffffee8 = buf;
                  puVar29 = local_f4;
                  dVar28 = read_leb128(puVar16,(uint *)buf,0,local_f4);
                  uVar15 = (ulong)dVar28;
                  puVar16 = puVar16 + buf._0_4_;
                  if (uVar15 == 0) {
                    if ((local_d4 == (dwarf_section *)0x0) && (end == local_f4)) {
                      puVar18 = puVar16;
                      if (puVar16 < local_f4) {
                        while (*puVar18 == '\0') {
                          puVar18 = puVar18 + 1;
                          if (local_f4 == puVar18) goto LAB_00056ae6;
                        }
                      }
                      else if (local_f4 == puVar16) break;
                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&
                         ((0 < dwarf_cutoff_level || (dwarf_cutoff_level == -1)))) {
                        pdVar9 = (dwarf_section *)0xffffffff;
LAB_00057496:
                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);
                        printf(pcVar13,local_d4,pdVar12);
                        in_stack_fffffee8 = (char *)local_d4;
                        if (-1 < (int)pdVar9) goto LAB_00057428;
                      }
                      else {
                        pdVar9 = (dwarf_section *)0xffffffff;
                        local_d4 = (dwarf_section *)in_stack_fffffee8;
                      }
LAB_000574d0:
                      in_stack_fffffee8 = (char *)local_d4;
                      if (process_debug_info::lexical_block_12::lexical_block_12_26::
                          lexical_block_12_26_8::num_bogus_warns < 3) {
                        pcVar13 = section->name;
                        pcVar17 = (char *)dcgettext(0,
                                                  "Bogus end-of-siblings marker detected at offset %lx in %s section\n"
                                                  ,5);
                        warn(pcVar17,pdVar12,pcVar13);
                        process_debug_info::lexical_block_12::lexical_block_12_26::
                        lexical_block_12_26_8::num_bogus_warns =
                             process_debug_info::lexical_block_12::lexical_block_12_26::
                             lexical_block_12_26_8::num_bogus_warns + 1;
                        in_stack_fffffee8 = (char *)pdVar12;
                        if (process_debug_info::lexical_block_12::lexical_block_12_26::
                            lexical_block_12_26_8::num_bogus_warns == 3) {
                          in_stack_fffffee8 =
                               "Further warnings about bogus end-of-sibling markers suppressed\n";
                          pcVar13 = (char *)dcgettext(0,
                                                  "Further warnings about bogus end-of-sibling markers suppressed\n"
                                                  ,5);
                          warn(pcVar13);
                        }
                      }
                    }
                    else {
                      pdVar9 = (dwarf_section *)((int)&local_d4[-1].user_data + 3);
                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&
                         (((int)local_d4 < dwarf_cutoff_level || (dwarf_cutoff_level == -1))))
                      goto LAB_00057496;
                      local_d4 = (dwarf_section *)in_stack_fffffee8;
                      if ((int)pdVar9 < 0) goto LAB_000574d0;
                    }
LAB_00057428:
                    local_d4 = pdVar9;
                    if ((dwarf_start_die != 0) && ((int)pdVar9 < (int)local_78)) {
                      return 1;
                    }
                  }
                  else {
                    if (do_loc == 0) {
                      if (dwarf_start_die != 0) {
                        if (pdVar12 < dwarf_start_die) {
                          bVar20 = false;
                          iVar11 = 0;
                          goto LAB_0005783c;
                        }
                        if ((dwarf_section *)dwarf_start_die == pdVar12) {
                          local_78 = local_d4;
                        }
                      }
                      bVar20 = dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level;
                      if (dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level) {
                        in_stack_fffffee8 = " <%d><%lx>: Abbrev Number: %lu";
                        pdVar9 = (dwarf_section *)0x5;
                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);
                        printf(pcVar13,local_d4,pdVar12,uVar15);
                        local_70 = local_d4;
                        iVar11 = 1;
                      }
                      else if ((int)local_70 < dwarf_cutoff_level) {
                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);
                        in_stack_fffffee8 = (char *)local_d4;
                        pdVar9 = pdVar12;
                        printf(pcVar13,local_d4,pdVar12);
                        local_70 = local_d4;
                        iVar11 = 0;
                      }
                      else {
                        local_70 = local_d4;
                        iVar11 = 0;
                      }
                    }
                    else {
                      bVar20 = false;
                      iVar11 = do_loc;
                    }
LAB_0005783c:
                    if (first_abbrev == (abbrev_entry *)0x0) {
LAB_00057dbe:
                      if (bVar20) {
                        putchar(10);
                        fflush(*(FILE **)PTR_stdout_000b3fd8);
                      }
                      pcVar13 = (char *)dcgettext(0,
                                                  "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"
                                                  ,5);
                      warn(pcVar13,pdVar12,uVar15);
                      return 0;
                    }
                    uVar3 = first_abbrev->entry;
                    paVar4 = first_abbrev;
                    while (uVar3 != uVar15) {
                      paVar4 = paVar4->next;
                      if (paVar4 == (abbrev_entry *)0x0) goto LAB_00057dbe;
                      uVar3 = paVar4->entry;
                    }
                    uVar15 = paVar4->tag;
                    if (bVar20) {
                      puVar29 = (uchar *)0x57bcc;
                      in_stack_fffffee8 = get_TAG_name(uVar15);
                      printf(" (%s)\n",in_stack_fffffee8,pdVar9);
                      uVar15 = paVar4->tag;
                    }
                    if (uVar15 == 0x11) {
                      need_base_address = 1;
                      need_dwo_info = do_loc;
                    }
                    else if ((uVar15 == 0x2e) || (uVar15 == 3)) {
                      need_base_address = 0;
                      have_frame_base = 0;
                    }
                    else {
                      need_base_address = 0;
                    }
                    if (((debug_information == (debug_info *)0x0) ||
                        (alloc_num_debug_info_entries <= local_a4)) ||
                       (pdVar24 = debug_information + local_a4, pdVar24 == (debug_info *)0x0)) {
                      paVar25 = paVar4->first_attr;
                      if ((paVar25 != (abbrev_attr *)0x0) &&
                         (pdVar24 = (debug_info *)0x0, paVar25->attribute != 0)) {
LAB_000578fa:
                        local_bc = ZEXT48(local_f0);
                        do {
                          if (bVar20) {
                            printf("    <%lx>",(int)puVar16 - (int)puVar1);
                          }
                          uVar15 = paVar25->form;
                          implicit_const = paVar25->implicit_const;
                          uVar3 = paVar25->attribute;
                          if (iVar11 == 1 && do_loc == 0) {
                            puVar29 = (uchar *)0x579ff;
                            in_stack_fffffee8 = get_AT_name(uVar3);
                            printf("   %-18s:");
                            puVar16 = read_and_display_attr_value
                                                (uVar3,uVar15,implicit_const,puVar16,end,
                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,
                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,
                                                 ' ');
                            putchar(10);
                            paVar25 = paVar25->next;
                          }
                          else {
                            puVar29 = (uchar *)0x20;
                            in_stack_fffffee8 = (char *)section;
                            puVar16 = read_and_display_attr_value
                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,
                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,
                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,
                                                 ' ');
                            paVar25 = paVar25->next;
                          }
                        } while ((paVar25 != (abbrev_attr *)0x0) && (paVar25->attribute != 0));
                        if (pdVar24 != (debug_info *)0x0) goto LAB_00057a88;
                      }
                    }
                    else {
                      if (pdVar24->num_loc_offsets != pdVar24->num_loc_views) {
                    /* WARNING: Subroutine does not return */
                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"
                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");
                      }
                      paVar25 = paVar4->first_attr;
                      if (paVar25 != (abbrev_attr *)0x0) {
                        if (paVar25->attribute != 0) goto LAB_000578fa;
LAB_00057a88:
                        uVar14 = pdVar24->num_loc_offsets;
                        uVar22 = pdVar24->num_loc_views;
                        if (uVar14 - uVar22 == 1) {
                          pdVar6 = pdVar24->loc_views;
                          *(undefined4 *)(pdVar6 + uVar22) = 0xffffffff;
                          *(undefined4 *)((int)pdVar6 + uVar22 * 8 + 4) = 0xffffffff;
                          pdVar24->num_loc_views = uVar22 + 1;
                          if (uVar22 + 1 != uVar14) {
                    /* WARNING: Subroutine does not return */
                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"
                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");
                          }
                        }
                        else if (uVar14 != uVar22) {
                          if (uVar14 - uVar22 != -1) {
                    /* WARNING: Subroutine does not return */
                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");
                          }
                          in_stack_fffffee8 = "DIE has locviews without loclist\n";
                          pcVar13 = (char *)dcgettext(0,"DIE has locviews without loclist\n",5);
                          warn(pcVar13);
                          pdVar24->num_loc_views = pdVar24->num_loc_views - 1;
                        }
                      }
                    }
                    local_d4 = (dwarf_section *)
                               ((int)&local_d4->uncompressed_name + (uint)(paVar4->children != 0));
                  }
                } while (puVar16 < local_f4);
              }
            }
            else {
              in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);
              pcVar13 = (char *)dcgettext(0,
                                          "CU at offset %s contains corrupt or unsupported unit type: %d.\n"
                                          ,5);
              warn(pcVar13,in_stack_fffffee8,local_b4);
            }
          }
          else {
            in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);
            pcVar13 = (char *)dcgettext(0,
                                        "CU at offset %s contains corrupt or unsupported version number: %d.\n"
                                        ,5);
            warn(pcVar13,in_stack_fffffee8,(uint)local_e2);
          }
        }
LAB_00056ae6:
        local_a4 = local_a4 + 1;
      } while (local_f4 < end);
      if (do_loc != 0) goto LAB_00057752;
    }
    if ((do_debug_loc == 0 && do_debug_ranges == 0) ||
       (do_types != 0 || num_debug_info_entries != 0)) goto LAB_00056b59;
  }
  else {
    if (do_types == 0 && num_debug_info_entries == 0) goto LAB_00056b86;
    puVar29 = (uchar *)0x5770c;
    load_debug_section_with_follow(abbrev_sec,file);
    if (*(int *)(&DAT_000b4850 + abbrev_sec * 0x40) == 0) goto LAB_00057bf6;
    local_90 = 0;
    if (puVar1 < end) goto LAB_0005662b;
LAB_00057752:
    if (do_types != 0 || num_debug_info_entries != 0) {
      return 1;
    }
  }
  num_debug_info_entries = alloc_num_debug_info_entries;
  if (local_90 <= alloc_num_debug_info_entries) {
    num_debug_info_entries = local_90;
  }
  if (do_loc != 0) {
    return 1;
  }
LAB_00056b59:
  putchar(10);
  return 1;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */

undefined4 __regparm3
FUN_00056530(int param_1,undefined4 param_2,int param_3,int param_4,uint param_5)

{
  int iVar1;
  int *piVar2;
  undefined *puVar3;
  longlong lVar4;
  undefined8 uVar5;
  byte bVar6;
  int iVar7;
  uint uVar8;
  uint uVar9;
  undefined4 uVar10;
  uint uVar11;
  uint *puVar12;
  uint uVar13;
  undefined4 uVar14;
  char *pcVar15;
  char *pcVar16;
  char *pcVar17;
  char *pcVar18;
  void *pvVar19;
  undefined4 uVar20;
  bool bVar21;
  int iVar22;
  uint uVar23;
  int *piVar24;
  char *pcVar25;
  int iVar26;
  undefined8 uVar27;
  longlong lVar28;
  char *local_f4;
  uint local_f0;
  int local_ec;
  ushort local_e2;
  int local_d4;
  undefined4 local_cc;
  int local_b4;
  uint local_b0;
  uint local_ac;
  uint local_a4;
  uint local_a0;
  uint local_9c;
  int local_98;
  uint local_90;
  int local_78;
  int local_70;
  undefined4 local_6c;
  undefined4 local_68;
  undefined4 local_64;
  undefined4 local_60;
  int local_5c [18];
  undefined4 uStack_14;
  
  uStack_14 = 0x5653b;
  pcVar15 = *(char **)(param_1 + 0x10);
  pcVar25 = pcVar15 + *(int *)(param_1 + 0x1c);
  if (param_4 == 0) {
    if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0)) {
      local_90 = 0;
    }
    else {
LAB_00056b86:
      local_90 = 0;
      pcVar18 = pcVar15;
      if (pcVar25 <= pcVar15) {
LAB_00057e2b:
        uVar10 = *(undefined4 *)(param_1 + 8);
        uVar14 = dcgettext(0,"No comp units in %s section ?\n",5);
        error(uVar14,uVar10);
        return 0;
      }
      do {
        pcVar17 = pcVar18 + 4;
        if (pcVar25 <= pcVar17) {
          iVar7 = (int)pcVar25 - (int)pcVar18;
          if (iVar7 - 1U < 8) goto LAB_000570ed;
LAB_00056bdf:
          uVar10 = *(undefined4 *)(param_1 + 8);
          uVar14 = FUN_0004cb50(0);
          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";
LAB_00056c0d:
          uVar20 = dcgettext(0,pcVar15,5);
          warn(uVar20,uVar14,uVar10);
          return 0;
        }
        iVar7 = 4;
LAB_000570ed:
        lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);
        if (lVar28 == 0xffffffff) {
          if (pcVar18 + 0xc < pcVar25) {
            iVar7 = 8;
          }
          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))
          goto LAB_00056bdf;
          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);
          pcVar18 = pcVar18 + iVar7 + 0xc;
          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;
        }
        else {
          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);
          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {
            uVar10 = *(undefined4 *)(param_1 + 8);
            uVar14 = FUN_0004cb50(0);
            pcVar15 = "Reserved length value (0x%s) found in section %s\n";
            goto LAB_00056c0d;
          }
          pcVar18 = pcVar18 + (int)lVar28 + 4;
          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;
        }
        if (bVar21) goto LAB_00056bdf;
        local_90 = local_90 + 1;
      } while (pcVar18 < pcVar25);
      if (local_90 == 0) goto LAB_00057e2b;
      if (0x3333332 < local_90) {
        DAT_000b9d64 = (void *)0x0;
        uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);
        error(uVar10,local_90);
        DAT_000b9d68 = 0;
        DAT_000b9d6c = 0;
        return 0;
      }
      DAT_000b9d64 = (void *)FUN_0006b190(local_90 * 0x50);
      memset(DAT_000b9d64,0,local_90 * 0x50);
      DAT_000b9d68 = local_90;
      if (param_4 != 0) {
        FUN_0004e130();
        if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;
        param_5 = 0;
        goto LAB_0005662b;
      }
    }
    FUN_0004e130();
    FUN_0004e130();
    FUN_0004e130();
    FUN_0004e130();
    FUN_0004e130();
    FUN_0004e130();
    FUN_0004e130();
    if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) {
LAB_00057bf6:
      puVar3 = (&PTR_s__debug_abbrev_000b4840)[param_3 * 0x10];
      uVar10 = dcgettext(0,"Unable to locate %s section!\n",5);
      warn(uVar10,puVar3);
      return 0;
    }
    if (DAT_000b9dd4 == 0) {
      FUN_0004eb80();
    }
    if (pcVar15 < pcVar25) {
LAB_0005662b:
      local_a4 = 0;
      local_f4 = pcVar15;
      do {
        local_6c = 0;
        local_68 = 0;
        local_64 = 0;
        pcVar18 = local_f4 + 4;
        local_60 = 0;
        pcVar17 = pcVar18;
        if (pcVar18 < pcVar25) {
          iVar7 = 4;
LAB_00056d25:
          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);
          if (lVar28 == 0xffffffff) {
            pcVar17 = local_f4 + 0xc;
            if (pcVar17 < pcVar25) {
              iVar7 = 8;
            }
            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))
            {
              local_cc = 0xc;
              pcVar16 = local_f4 + 0xe;
              local_d4 = 0xc;
              local_f0 = 8;
              goto joined_r0x00056d9b;
            }
            pcVar16 = local_f4 + 0xe;
            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);
            local_cc = 0xc;
            local_d4 = 0xc;
            local_f0 = 8;
          }
          else {
            pcVar16 = local_f4 + 6;
            local_cc = 4;
            local_d4 = 4;
            local_f0 = 4;
          }
          if (pcVar16 < pcVar25) {
            iVar7 = 2;
          }
          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))
          goto LAB_00056db1;
LAB_000566e9:
          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);
        }
        else {
          iVar7 = (int)pcVar25 - (int)local_f4;
          if (iVar7 - 1U < 8) goto LAB_00056d25;
          local_cc = 4;
          pcVar16 = local_f4 + 6;
          local_d4 = 4;
          local_f0 = 4;
joined_r0x00056d9b:
          if (pcVar16 < pcVar25) {
            iVar7 = 2;
            lVar28 = 0;
            goto LAB_000566e9;
          }
          lVar28 = 0;
LAB_00056db1:
          local_e2 = 0;
        }
        local_ec = (int)lVar28;
        uVar8 = (int)local_f4 - (int)pcVar15;
        uVar9 = (int)uVar8 >> 0x1f;
        if (param_5 == 0) {
          iVar22 = 1;
          iVar7 = DAT_000b9d34;
          iVar26 = DAT_000b9d2c;
        }
        else {
          iVar22 = 2;
          iVar7 = DAT_000b9d30;
          iVar26 = DAT_000b9d28;
        }
        for (; iVar7 != 0; iVar7 = iVar7 + -1) {
          if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&
              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;
          iVar26 = iVar26 + 0x68;
        }
        iVar26 = 0;
joined_r0x0005676e:
        uVar13 = local_f0;
        if (local_e2 < 5) {
          local_b4 = 1;
          bVar6 = 0xff;
joined_r0x000567df:
          pcVar18 = pcVar16 + local_f0;
          if ((pcVar18 < pcVar25) ||
             ((pcVar16 < pcVar25 &&
              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))
          goto LAB_00056caa;
LAB_000567f7:
          uVar27 = 0;
          uVar5 = 0;
          if (iVar26 != 0) goto LAB_0005680f;
LAB_00056cce:
          uVar27 = uVar5;
          local_9c = 0;
          local_98 = 0;
          local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);
        }
        else {
          pcVar18 = pcVar17 + 3;
          if (pcVar18 < pcVar25) {
            iVar7 = 1;
LAB_00057245:
            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);
            param_5 = (uint)(local_b4 == 2);
            iVar7 = 1;
            if ((pcVar17 + 4 < pcVar25) ||
               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {
LAB_000567c4:
              pcVar16 = pcVar17 + 4;
              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);
              goto joined_r0x000567df;
            }
          }
          else {
            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))
            goto LAB_00057245;
            param_5 = 0;
            local_b4 = 0;
            if (pcVar17 + 4 < pcVar25) {
              iVar7 = 1;
              goto LAB_000567c4;
            }
          }
          pcVar16 = pcVar17 + 4;
          bVar6 = 0;
          pcVar18 = pcVar16 + local_f0;
          if (pcVar25 <= pcVar18) goto LAB_000567f7;
LAB_00056caa:
          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);
          uVar5 = uVar27;
          if (iVar26 == 0) goto LAB_00056cce;
LAB_0005680f:
          local_9c = *(uint *)(iVar26 + 0x20);
          local_98 = *(int *)(iVar26 + 0x24);
          local_ac = *(uint *)(iVar26 + 0x54);
        }
        local_a0 = (uint)((ulonglong)uVar27 >> 0x20);
        local_b0 = (uint)uVar27;
        pcVar17 = pcVar18;
        if (local_e2 < 5) {
          pcVar17 = pcVar18 + 1;
          if (pcVar17 < pcVar25) {
            iVar7 = 1;
LAB_00056c35:
            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);
            goto LAB_00056c57;
          }
          if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))
          goto LAB_00056c35;
          bVar6 = 0;
LAB_00056853:
          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)
          ;
          warn(uVar10,bVar6,local_f0);
          bVar6 = (byte)local_f0;
        }
        else {
LAB_00056c57:
          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;
        }
        if (param_5 != 0) {
          pcVar18 = pcVar17 + 8;
          if (pcVar25 < pcVar18) {
            local_6c = 0;
            local_68 = 0;
            local_64 = 0;
            local_60 = 0;
          }
          else {
            FUN_000670f0(pcVar17,&local_6c,&local_64);
          }
          pcVar17 = pcVar18 + local_f0;
          uVar13 = local_f0;
          if ((pcVar17 < pcVar25) ||
             ((pcVar18 < pcVar25 &&
              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {
            (*DAT_000b9dd8)(pcVar18,uVar13);
          }
        }
        uVar13 = DAT_000b9dd4;
        uVar11 = local_d4 + uVar8;
        lVar4 = lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8;
        if ((uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4)) {
          local_f4 = pcVar15 + uVar11 + local_ec;
        }
        else {
          if (param_4 == 0) {
            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {
LAB_00056993:
              if (param_5 == 0) {
                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);
                *puVar12 = (uint)bVar6;
                puVar12[4] = uVar9;
                puVar12[3] = uVar8;
                puVar12[1] = local_f0;
                puVar12[2] = (uint)local_e2;
                puVar12[5] = 0;
                puVar12[6] = 0;
                puVar12[7] = 0xffffffff;
                puVar12[8] = 0;
                puVar12[9] = 0xffffffff;
                puVar12[10] = 0;
                puVar12[0xb] = 0;
                puVar12[0xd] = 0;
                puVar12[0xf] = 0;
                puVar12[0xe] = 0;
                puVar12[0x11] = 0;
                puVar12[0x13] = 0;
                puVar12[0x12] = 0;
              }
              if (param_4 != 0) goto LAB_00056a44;
            }
            if (uVar13 == 0) {
              uVar10 = FUN_0004cb50(0);
              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);
              printf(pcVar18,uVar10);
              pcVar18 = "64-bit";
              if (local_f0 != 8) {
                pcVar18 = "32-bit";
              }
              uVar10 = FUN_0004cb50(0);
              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);
              printf(pcVar16,uVar10,pcVar18);
              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);
              printf(pcVar18,(uint)local_e2);
              uVar10 = FUN_0004cb50(0);
              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);
              printf(pcVar18,uVar10);
              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);
              printf(pcVar18,(uint)bVar6);
              if (param_5 != 0) {
                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);
                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);
                printf(pcVar18,uVar10);
                uVar10 = FUN_0004cb50(0);
                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);
                printf(pcVar18,uVar10);
              }
              if (iVar26 != 0) {
                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);
                printf(pcVar18);
                uVar10 = FUN_0004cb50(0);
                uVar14 = FUN_0004cb50(0);
                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);
                printf(pcVar18,uVar14,uVar10);
                uVar10 = FUN_0004cb50(0);
                uVar14 = FUN_0004cb50(0);
                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);
                printf(pcVar18,uVar14,uVar10);
                uVar10 = FUN_0004cb50(0);
                uVar14 = FUN_0004cb50(0);
                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);
                printf(pcVar18,uVar14,uVar10);
                uVar10 = FUN_0004cb50(0);
                uVar14 = FUN_0004cb50(0);
                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);
                printf(pcVar18,uVar14,uVar10);
              }
            }
          }
          else if (DAT_000b9d6c == 0) goto LAB_00056993;
LAB_00056a44:
          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);
          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);
          if ((uVar23 < (uVar13 < uVar11)) ||
             (*(uint *)(param_1 + 0x20) < uVar23 ||
              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {
            uVar14 = FUN_0004cb50(0);
            uVar10 = *(undefined4 *)(param_1 + 8);
            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);
            warn(uVar20,uVar10,uVar8,uVar14);
            local_90 = local_a4;
            break;
          }
          local_f4 = local_f4 + local_d4 + local_ec;
          if ((ushort)(local_e2 - 2) < 4) {
            if (local_b4 - 1U < 2) {
              FUN_0004ce90();
              if (local_a0 < (local_b0 < local_ac)) {
                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);
                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);
                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||
                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <
                    (uint)(uVar13 < local_ac + local_9c)) {
                  uVar10 = dcgettext(0,
                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"
                                     ,5);
                  warn(uVar10,local_ac + local_9c,uVar13);
                }
                else if (DAT_000b9ce4 == (int *)0x0) {
                  FUN_0004fb10();
                }
              }
              else {
                uVar10 = dcgettext(0,
                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"
                                   ,5);
                warn(uVar10,local_b0,local_ac);
              }
              if (pcVar17 < local_f4) {
                local_78 = -1;
                local_70 = 0;
                local_d4 = 0;
                do {
                  uVar11 = (int)pcVar17 - (int)pcVar15;
                  uVar13 = 0;
                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);
                  pcVar17 = pcVar17 + local_5c[0];
                  if (iVar7 == 0) {
                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {
                      pcVar18 = pcVar17;
                      if (pcVar17 < local_f4) {
                        while (*pcVar18 == '\0') {
                          pcVar18 = pcVar18 + 1;
                          if (local_f4 == pcVar18) goto LAB_00056ae6;
                        }
                      }
                      else if (local_f4 == pcVar17) break;
                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&
                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {
                        iVar7 = -1;
LAB_00057496:
                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);
                        printf(pcVar18,local_d4,uVar11);
                        if (-1 < iVar7) goto LAB_00057428;
                      }
                      else {
                        iVar7 = -1;
                      }
LAB_000574d0:
                      if (DAT_000b7ca4 < 3) {
                        uVar10 = *(undefined4 *)(param_1 + 8);
                        uVar14 = dcgettext(0,
                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"
                                           ,5);
                        warn(uVar14,uVar11,uVar10);
                        DAT_000b7ca4 = DAT_000b7ca4 + 1;
                        if (DAT_000b7ca4 == 3) {
                          uVar10 = dcgettext(0,
                                             "Further warnings about bogus end-of-sibling markers suppressed\n"
                                             ,5);
                          warn(uVar10);
                        }
                      }
                    }
                    else {
                      iVar7 = local_d4 + -1;
                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&
                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;
                      if (iVar7 < 0) goto LAB_000574d0;
                    }
LAB_00057428:
                    local_d4 = iVar7;
                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {
                      return 1;
                    }
                  }
                  else {
                    if (param_4 == 0) {
                      if (DAT_000b9dd4 != 0) {
                        if (uVar11 < DAT_000b9dd4) {
                          bVar21 = false;
                          iVar22 = 0;
                          goto LAB_0005783c;
                        }
                        if (DAT_000b9dd4 == uVar11) {
                          local_78 = local_d4;
                        }
                      }
                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;
                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {
                        uVar13 = 5;
                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);
                        printf(pcVar18,local_d4,uVar11,iVar7);
                        local_70 = local_d4;
                        iVar22 = 1;
                      }
                      else if (local_70 < DAT_000b4828) {
                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);
                        uVar13 = uVar11;
                        printf(pcVar18,local_d4,uVar11);
                        local_70 = local_d4;
                        iVar22 = 0;
                      }
                      else {
                        local_70 = local_d4;
                        iVar22 = 0;
                      }
                    }
                    else {
                      bVar21 = false;
                      iVar22 = param_4;
                    }
LAB_0005783c:
                    if (DAT_000b9ce4 == (int *)0x0) {
LAB_00057dbe:
                      if (bVar21) {
                        putchar(10);
                        fflush(*(FILE **)PTR_stdout_000b3fd8);
                      }
                      uVar10 = dcgettext(0,
                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"
                                         ,5);
                      warn(uVar10,uVar11,iVar7);
                      return 0;
                    }
                    iVar1 = *DAT_000b9ce4;
                    piVar2 = DAT_000b9ce4;
                    while (iVar1 != iVar7) {
                      piVar2 = (int *)piVar2[5];
                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;
                      iVar1 = *piVar2;
                    }
                    iVar7 = piVar2[1];
                    if (bVar21) {
                      uVar10 = FUN_0004e780();
                      printf(" (%s)\n",uVar10,uVar13);
                      iVar7 = piVar2[1];
                    }
                    if (iVar7 == 0x11) {
                      DAT_000b9d70 = 1;
                      DAT_000b9d4c = param_4;
                    }
                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {
                      DAT_000b9d70 = 0;
                      DAT_000b9d74 = 0;
                    }
                    else {
                      DAT_000b9d70 = 0;
                    }
                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||
                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),
                       pvVar19 == (void *)0x0)) {
                      piVar24 = (int *)piVar2[3];
                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {
LAB_000579c3:
                        do {
                          if (bVar21) {
                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);
                          }
                          iVar7 = piVar24[2];
                          iVar1 = piVar24[3];
                          if (iVar22 == 1 && param_4 == 0) {
                            uVar10 = FUN_0004e800();
                            printf("   %-18s:",uVar10);
                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,
                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,
                                                           param_1,iVar26,0x20);
                            putchar(10);
                            piVar24 = (int *)piVar24[4];
                          }
                          else {
                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,
                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,
                                                           param_1,iVar26,0x20);
                            piVar24 = (int *)piVar24[4];
                          }
                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));
                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;
                      }
                    }
                    else {
                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {
                    /* WARNING: Subroutine does not return */
                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"
                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");
                      }
                      piVar24 = (int *)piVar2[3];
                      if (piVar24 != (int *)0x0) {
                        if (*piVar24 != 0) goto LAB_000579c3;
LAB_00057a88:
                        iVar7 = *(int *)((int)pvVar19 + 0x38);
                        iVar22 = *(int *)((int)pvVar19 + 0x40);
                        if (iVar7 - iVar22 == 1) {
                          iVar1 = *(int *)((int)pvVar19 + 0x30);
                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;
                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;
                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;
                          if (iVar22 + 1 != iVar7) {
                    /* WARNING: Subroutine does not return */
                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"
                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");
                          }
                        }
                        else if (iVar7 != iVar22) {
                          if (iVar7 - iVar22 != -1) {
                    /* WARNING: Subroutine does not return */
                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");
                          }
                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);
                          warn(uVar10);
                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;
                        }
                      }
                    }
                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);
                  }
                } while (pcVar17 < local_f4);
              }
            }
            else {
              uVar10 = FUN_0004cb50(0);
              uVar14 = dcgettext(0,
                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",
                                 5);
              warn(uVar14,uVar10,local_b4);
            }
          }
          else {
            uVar10 = FUN_0004cb50(0);
            uVar14 = dcgettext(0,
                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"
                               ,5);
            warn(uVar14,uVar10,local_e2);
          }
        }
LAB_00056ae6:
        local_a4 = local_a4 + 1;
      } while (local_f4 < pcVar25);
      if (param_4 != 0) goto LAB_00057752;
    }
    if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0))
    goto LAB_00056b59;
  }
  else {
    if (param_5 == 0 && DAT_000b9d6c == 0) goto LAB_00056b86;
    FUN_0004e130();
    if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;
    local_90 = 0;
    if (pcVar15 < pcVar25) goto LAB_0005662b;
LAB_00057752:
    if (param_5 != 0 || DAT_000b9d6c != 0) {
      return 1;
    }
  }
  DAT_000b9d6c = DAT_000b9d68;
  if (local_90 <= DAT_000b9d68) {
    DAT_000b9d6c = local_90;
  }
  if (param_4 != 0) {
    return 1;
  }
LAB_00056b59:
  putchar(10);
  return 1;
}


PUSH EBP
MOV EBP,EDX
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00013f70
ADD EBX,0x5dac5
SUB ESP,0xfc
MOV EDI,dword ptr [EAX + 0x10]
MOV dword ptr [ESP + 0x3c],EAX
MOV dword ptr [ESP + 0x2c],EDI
ADD EDI,dword ptr [EAX + 0x1c]
MOV EAX,dword ptr [ESP + 0x110]
MOV dword ptr [ESP + 0x78],ECX
MOV dword ptr [ESP + 0x10],EBX
MOV dword ptr [ESP + 0x14],EDI
TEST EAX,EAX
JNZ 0x000576e8
LEA EAX,[EBX + 0x5d90]
MOV EDX,dword ptr [EAX]
LEA EAX,[EBX + 0x5db4]
OR EDX,dword ptr [EAX]
JNZ 0x00056b6f
MOV dword ptr [ESP + 0x7c],0x0
MOV EDX,EBP
MOV EAX,0xa
CALL 0x0004e130
MOV EDX,EBP
MOV EAX,0xb
CALL 0x0004e130
MOV EDX,EBP
MOV EAX,0x22
CALL 0x0004e130
MOV EDX,EBP
MOV EAX,0x23
CALL 0x0004e130
MOV EDX,EBP
MOV EAX,0x24
CALL 0x0004e130
MOV EDX,EBP
MOV EAX,0x25
CALL 0x0004e130
MOV EDI,dword ptr [ESP + 0x78]
MOV EDX,EBP
MOV EAX,EDI
CALL 0x0004e130
MOV EAX,dword ptr [ESP + 0x10]
LEA EBX,[EAX + 0x840]
MOV EAX,EDI
SHL EAX,0x6
MOV dword ptr [ESP + 0x84],EBX
MOV EAX,dword ptr [EAX + EBX*0x1 + 0x10]
TEST EAX,EAX
JZ 0x00057bf6
MOV EAX,dword ptr [ESP + 0x10]
LEA EAX,[EAX + 0x5dd4]
MOV EBX,dword ptr [EAX]
MOV dword ptr [ESP + 0x4c],EAX
TEST EBX,EBX
JZ 0x00057d54
MOV EDI,dword ptr [ESP + 0x14]
CMP dword ptr [ESP + 0x2c],EDI
JNC 0x00056b08
MOV EAX,dword ptr [ESP + 0x2c]
MOV dword ptr [ESP + 0x68],0x0
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,dword ptr [ESP + 0x10]
LEA EAX,[EAX + 0x5dd8]
MOV dword ptr [ESP + 0x90],EAX
MOV dword ptr [ESP + 0x80],EAX
MOV EBX,dword ptr [ESP + 0x18]
MOV EAX,dword ptr [ESP + 0x14]
MOV dword ptr [ESP + 0xa0],0x0
MOV dword ptr [ESP + 0xa4],0x0
MOV dword ptr [ESP + 0xa8],0x0
LEA EBP,[EBX + 0x4]
MOV dword ptr [ESP + 0xac],0x0
CMP EBP,EAX
JC 0x00056d20
SUB EAX,EBX
LEA EDX,[EAX + -0x1]
CMP EDX,0x7
JBE 0x00056d25
MOV dword ptr [ESP + 0x40],0x4
LEA EBX,[EBP + 0x2]
MOV dword ptr [ESP + 0x44],0x0
MOV dword ptr [ESP + 0x38],0x4
MOV dword ptr [ESP + 0x1c],0x4
CMP EBX,dword ptr [ESP + 0x14]
JNC 0x00056da1
MOV dword ptr [ESP + 0x20],0x0
MOV ESI,dword ptr [ESP + 0x90]
MOV EAX,0x2
MOV dword ptr [ESP + 0x24],0x0
SUB ESP,0x8
PUSH EAX
PUSH EBP
CALL dword ptr [ESI]
MOV word ptr [ESP + 0x3a],AX
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x18]
MOV EDX,dword ptr [ESP + 0x114]
SUB EAX,dword ptr [ESP + 0x2c]
MOV dword ptr [ESP + 0x30],EAX
MOV dword ptr [ESP + 0x8],EAX
SAR EAX,0x1f
MOV dword ptr [ESP + 0xc],EAX
MOV EAX,dword ptr [ESP + 0x10]
TEST EDX,EDX
JZ 0x00056d00
MOV EDI,dword ptr [EAX + 0x5d28]
MOV EAX,dword ptr [EAX + 0x5d30]
MOV EDX,0x2
TEST EAX,EAX
JZ 0x00056c78
MOV ECX,dword ptr [ESP + 0x30]
JMP 0x00056758
ADD EDI,0x68
SUB EAX,0x1
JZ 0x00056c78
MOV ECX,dword ptr [ESP + 0x8]
XOR ECX,dword ptr [EDI + EDX*0x8 + 0x8]
MOV ESI,dword ptr [ESP + 0xc]
XOR ESI,dword ptr [EDI + EDX*0x8 + 0xc]
OR ESI,ECX
JNZ 0x00056748
CMP word ptr [ESP + 0x2a],0x4
JBE 0x00056c86
MOV EAX,dword ptr [ESP + 0x14]
LEA ECX,[EBP + 0x3]
CMP ECX,EAX
JC 0x00057240
CMP EAX,EBX
JBE 0x00056795
SUB EAX,EBX
LEA EDX,[EAX + -0x1]
CMP EDX,0x7
JBE 0x00057245
LEA EBX,[EBP + 0x4]
CMP EBX,dword ptr [ESP + 0x14]
MOV dword ptr [ESP + 0x114],0x0
MOV dword ptr [ESP + 0x58],0x0
JNC 0x0005729d
MOV EDX,dword ptr [ESP + 0x10]
MOV EAX,0x1
LEA ESI,[EDX + 0x5dd8]
SUB ESP,0x8
PUSH EAX
PUSH ECX
CALL dword ptr [ESI]
MOV byte ptr [ESP + 0x44],AL
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x1c]
LEA EBP,[EBX + EAX*0x1]
MOV EAX,dword ptr [ESP + 0x14]
CMP EBP,EAX
JC 0x00056ca6
CMP EBX,EAX
JNC 0x000567f7
SUB EAX,EBX
LEA EDX,[EAX + -0x1]
CMP EDX,0x7
JBE 0x00056caa
MOV dword ptr [ESP + 0x5c],0x0
MOV dword ptr [ESP + 0x6c],0x0
TEST EDI,EDI
JZ 0x00056cce
MOV EAX,dword ptr [EDI + 0x20]
MOV EDX,dword ptr [EDI + 0x24]
MOV dword ptr [ESP + 0x70],EAX
MOV EAX,dword ptr [EDI + 0x54]
MOV dword ptr [ESP + 0x74],EDX
MOV dword ptr [ESP + 0x60],EAX
CMP word ptr [ESP + 0x2a],0x4
JA 0x00056c57
MOV EAX,dword ptr [ESP + 0x14]
LEA ECX,[EBP + 0x1]
CMP ECX,EAX
JC 0x00056c30
CMP EAX,EBP
JBE 0x00056851
SUB EAX,EBP
LEA EDX,[EAX + -0x1]
CMP EDX,0x7
JBE 0x00056c35
XOR ESI,ESI
MOV dword ptr [ESP + 0x48],ECX
SUB ESP,0x4
PUSH 0x5
MOV EBP,dword ptr [ESP + 0x18]
LEA EAX,[EBP + 0xfffdbe84]
MOV EBX,EBP
PUSH EAX
PUSH 0x0
CALL 0x000130f0
ADD ESP,0xc
PUSH dword ptr [ESP + 0x20]
PUSH ESI
PUSH EAX
CALL 0x00066db0
MOVZX EAX,byte ptr [ESP + 0x2c]
MOV byte ptr [ESP + 0x44],AL
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x48]
MOV EBP,ECX
MOV EAX,dword ptr [ESP + 0x114]
MOV dword ptr [ESP + 0x50],0x0
MOV dword ptr [ESP + 0x54],0x0
TEST EAX,EAX
JZ 0x00056920
LEA ECX,[EBP + 0x8]
CMP ECX,dword ptr [ESP + 0x14]
JBE 0x00057680
MOV dword ptr [ESP + 0xa0],0x0
MOV dword ptr [ESP + 0xa4],0x0
MOV dword ptr [ESP + 0xa8],0x0
MOV dword ptr [ESP + 0xac],0x0
MOV EAX,dword ptr [ESP + 0x1c]
LEA EBP,[ECX + EAX*0x1]
MOV EAX,dword ptr [ESP + 0x14]
CMP EBP,EAX
JC 0x00057218
MOV dword ptr [ESP + 0x50],0x0
MOV dword ptr [ESP + 0x54],0x0
CMP ECX,EAX
JNC 0x00056920
SUB EAX,ECX
LEA EDX,[EAX + -0x1]
CMP EDX,0x7
JBE 0x0005721c
LEA ESI,[ESI]
MOV EAX,dword ptr [ESP + 0x4c]
XOR EBX,EBX
MOV EDX,dword ptr [ESP + 0x44]
MOV ESI,dword ptr [EAX]
MOV EAX,dword ptr [ESP + 0x38]
ADD EAX,dword ptr [ESP + 0x30]
MOV dword ptr [ESP + 0x48],EAX
MOV EAX,dword ptr [ESP + 0x40]
ADD EAX,dword ptr [ESP + 0x20]
ADC EDX,dword ptr [ESP + 0x24]
ADD EAX,dword ptr [ESP + 0x8]
ADC EDX,dword ptr [ESP + 0xc]
CMP EAX,ESI
MOV EAX,EDX
SBB EAX,EBX
JC 0x000570d0
MOV EAX,dword ptr [ESP + 0x110]
TEST EAX,EAX
JNZ 0x000570b8
MOV EBX,dword ptr [ESP + 0x10]
LEA EAX,[EBX + 0x5d90]
MOV EDX,dword ptr [EAX]
LEA EAX,[EBX + 0x5db4]
OR EDX,dword ptr [EAX]
JZ 0x00056dc0
MOV EAX,dword ptr [ESP + 0x10]
MOV EAX,dword ptr [EAX + 0x5d6c]
TEST EAX,EAX
JNZ 0x00056dc0
MOV EAX,dword ptr [ESP + 0x114]
TEST EAX,EAX
JNZ 0x00056a35
MOV EAX,dword ptr [ESP + 0x68]
MOV EBX,dword ptr [ESP + 0x10]
MOVZX EDX,byte ptr [ESP + 0x34]
MOV ECX,dword ptr [ESP + 0x8]
LEA EAX,[EAX + EAX*0x4]
SHL EAX,0x4
ADD EAX,dword ptr [EBX + 0x5d64]
MOV EBX,dword ptr [ESP + 0xc]
MOV dword ptr [EAX],EDX
MOVZX EDX,word ptr [ESP + 0x2a]
MOV dword ptr [EAX + 0x10],EBX
MOV EBX,dword ptr [ESP + 0x1c]
MOV dword ptr [EAX + 0xc],ECX
MOV dword ptr [EAX + 0x4],EBX
MOV dword ptr [EAX + 0x8],EDX
MOV dword ptr [EAX + 0x14],0x0
MOV dword ptr [EAX + 0x18],0x0
MOV dword ptr [EAX + 0x1c],0xffffffff
MOV dword ptr [EAX + 0x20],0x0
MOV dword ptr [EAX + 0x24],0xffffffff
MOV dword ptr [EAX + 0x28],0x0
MOV dword ptr [EAX + 0x2c],0x0
MOV dword ptr [EAX + 0x34],0x0
MOV dword ptr [EAX + 0x3c],0x0
MOV dword ptr [EAX + 0x38],0x0
MOV dword ptr [EAX + 0x44],0x0
MOV dword ptr [EAX + 0x4c],0x0
MOV dword ptr [EAX + 0x48],0x0
MOV EBX,dword ptr [ESP + 0x110]
TEST EBX,EBX
JZ 0x00056dc0
MOV ESI,dword ptr [ESP + 0x48]
MOV EAX,dword ptr [ESP + 0x20]
XOR EBX,EBX
MOV EDX,dword ptr [ESP + 0x24]
ADD EAX,ESI
ADC EDX,EBX
CMP EAX,ESI
MOV ESI,EDX
SBB ESI,EBX
JC 0x00057d68
MOV EBX,dword ptr [ESP + 0x3c]
MOV ECX,dword ptr [EBX + 0x20]
CMP dword ptr [EBX + 0x1c],EAX
SBB ECX,EDX
JC 0x00057d68
MOV EAX,dword ptr [ESP + 0x38]
ADD EAX,dword ptr [ESP + 0x20]
ADD dword ptr [ESP + 0x18],EAX
MOVZX EAX,word ptr [ESP + 0x2a]
SUB EAX,0x2
CMP AX,0x3
JA 0x000577b0
MOV EAX,dword ptr [ESP + 0x58]
SUB EAX,0x1
CMP EAX,0x1
JBE 0x000572c0
SUB ESP,0xc
PUSH 0x0
MOV EDI,dword ptr [ESP + 0x20]
MOV EDX,dword ptr [ESP + 0x18]
MOV ECX,dword ptr [ESP + 0x1c]
LEA EAX,[EDI + 0xfffc89c5]
MOV EBX,EDI
CALL 0x0004cb50
ADD ESP,0xc
MOV ESI,EAX
LEA EAX,[EDI + 0xfffdc01c]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
ADD ESP,0xc
PUSH dword ptr [ESP + 0x5c]
PUSH ESI
PUSH EAX
CALL 0x00066db0
ADD ESP,0x10
ADD dword ptr [ESP + 0x68],0x1
MOV EBX,dword ptr [ESP + 0x14]
CMP dword ptr [ESP + 0x18],EBX
JC 0x00056653
MOV EAX,dword ptr [ESP + 0x110]
TEST EAX,EAX
JNZ 0x00057752
MOV EDI,dword ptr [ESP + 0x10]
LEA EAX,[EDI + 0x5d90]
MOV EDX,dword ptr [EAX]
LEA EAX,[EDI + 0x5db4]
OR EDX,dword ptr [EAX]
JZ 0x00056b59
MOV EAX,dword ptr [ESP + 0x10]
MOV EDI,dword ptr [ESP + 0x114]
OR EDI,dword ptr [EAX + 0x5d6c]
JNZ 0x00056b59
MOV EDI,dword ptr [ESP + 0x10]
MOV EDX,dword ptr [ESP + 0x7c]
MOV EAX,dword ptr [EDI + 0x5d68]
CMP EAX,EDX
CMOVNC EAX,EDX
MOV dword ptr [EDI + 0x5d6c],EAX
MOV EAX,dword ptr [ESP + 0x110]
TEST EAX,EAX
JNZ 0x00057443
SUB ESP,0xc
PUSH 0xa
MOV EBX,dword ptr [ESP + 0x20]
CALL 0x000132d0
ADD ESP,0x10
JMP 0x00057443
MOV EAX,dword ptr [ESP + 0x10]
MOV EDI,dword ptr [ESP + 0x114]
OR EDI,dword ptr [EAX + 0x5d6c]
JNZ 0x00056586
MOV EDI,dword ptr [ESP + 0x10]
MOV EAX,dword ptr [ESP + 0x2c]
MOV dword ptr [ESP + 0x7c],0x0
LEA EDI,[EDI + 0x5dd8]
MOV EBX,EAX
MOV dword ptr [ESP + 0x18],EDI
MOV EDI,dword ptr [ESP + 0x14]
CMP EAX,EDI
JNC 0x00057e2b
MOV dword ptr [ESP + 0x1c],EBP
MOV EBP,dword ptr [ESP + 0x14]
LEA ESI,[ESI]
LEA ESI,[ESI]
LEA ESI,[EBX + 0x4]
CMP ESI,EBP
JC 0x000570e8
MOV EAX,EBP
SUB EAX,EBX
LEA EDX,[EAX + -0x1]
CMP EDX,0x7
JBE 0x000570ed
XOR EAX,EAX
XOR EDX,EDX
MOV EDI,dword ptr [ESP + 0x3c]
SUB ESP,0xc
MOV ECX,EDX
MOV EDX,EAX
MOV ESI,dword ptr [EDI + 0x8]
PUSH 0x0
MOV EBP,dword ptr [ESP + 0x20]
LEA EAX,[EBP + 0xfffc89c5]
MOV EBX,EBP
CALL 0x0004cb50
ADD ESP,0xc
PUSH 0x5
MOV EDI,EAX
LEA EAX,[EBP + 0xfffdbe1c]
PUSH EAX
PUSH 0x0
CALL 0x000130f0
ADD ESP,0xc
PUSH ESI
PUSH EDI
PUSH EAX
CALL 0x00066db0
ADD ESP,0x10
XOR EAX,EAX
ADD ESP,0xfc
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,0x1
MOV dword ptr [ESP + 0x48],ECX
SUB ESP,0x8
MOV EBX,dword ptr [ESP + 0x18]
PUSH EAX
PUSH EBP
LEA ESI,[EBX + 0x5dd8]
CALL dword ptr [ESI]
MOV byte ptr [ESP + 0x44],AL
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x48]
MOV EBP,ECX
MOVZX EAX,byte ptr [ESP + 0x34]
SUB EAX,0x2
CMP AL,0x6
JBE 0x00056890
MOVZX ESI,byte ptr [ESP + 0x34]
MOV ECX,EBP
JMP 0x00056853
XOR EDI,EDI
CMP word ptr [ESP + 0x2a],0x4
JA 0x00056774
MOV EAX,dword ptr [ESP + 0x1c]
MOV dword ptr [ESP + 0x58],0x1
MOV byte ptr [ESP + 0x34],0xff
LEA EBP,[EBX + EAX*0x1]
MOV EAX,dword ptr [ESP + 0x14]
CMP EBP,EAX
JNC 0x000567e5
MOV EAX,dword ptr [ESP + 0x1c]
SUB ESP,0x8
MOV EDX,dword ptr [ESP + 0x18]
PUSH EAX
PUSH EBX
LEA ESI,[EDX + 0x5dd8]
CALL dword ptr [ESI]
MOV dword ptr [ESP + 0x6c],EAX
MOV dword ptr [ESP + 0x7c],EDX
ADD ESP,0x10
TEST EDI,EDI
JNZ 0x0005680f
MOV EAX,dword ptr [ESP + 0x78]
MOV EBX,dword ptr [ESP + 0x84]
MOV dword ptr [ESP + 0x70],0x0
MOV dword ptr [ESP + 0x74],0x0
SHL EAX,0x6
MOV EAX,dword ptr [EAX + EBX*0x1 + 0x1c]
MOV dword ptr [ESP + 0x60],EAX
JMP 0x00056824
MOV EDI,dword ptr [EAX + 0x5d2c]
MOV EDX,0x1
MOV EAX,dword ptr [EAX + 0x5d34]
JMP 0x00056733
MOV EAX,0x4
SUB ESP,0x8
MOV EDI,dword ptr [ESP + 0x88]
PUSH EAX
PUSH dword ptr [ESP + 0x24]
CALL dword ptr [EDI]
MOV ESI,EDI
MOV dword ptr [ESP + 0x30],EAX
NOT EAX
MOV dword ptr [ESP + 0x34],EDX
ADD ESP,0x10
OR EDX,EAX
JNZ 0x000576b0
MOV EAX,dword ptr [ESP + 0x18]
LEA EBX,[EAX + 0xc]
MOV EAX,dword ptr [ESP + 0x14]
CMP EBX,EAX
JC 0x00057618
CMP EBP,EAX
JNC 0x00056d72
SUB EAX,EBP
LEA EDX,[EAX + -0x1]
CMP EDX,0x7
JBE 0x0005761d
MOV EBP,EBX
MOV dword ptr [ESP + 0x40],0xc
MOV dword ptr [ESP + 0x44],0x0
LEA EBX,[EBP + 0x2]
MOV dword ptr [ESP + 0x38],0xc
MOV dword ptr [ESP + 0x1c],0x8
CMP EBX,dword ptr [ESP + 0x14]
JC 0x000566cd
MOV dword ptr [ESP + 0x20],0x0
MOV dword ptr [ESP + 0x24],0x0
XOR ECX,ECX
MOV word ptr [ESP + 0x2a],CX
JMP 0x000566f8
TEST ESI,ESI
JNZ 0x00056a44
SUB ESP,0xc
PUSH 0x0
MOV EBX,dword ptr [ESP + 0x20]
MOV EDX,dword ptr [ESP + 0x18]
MOV ECX,dword ptr [ESP + 0x1c]
LEA EAX,[EBX + 0xfffc89c5]
CALL 0x0004cb50
ADD ESP,0xc
MOV ESI,EAX
LEA EAX,[EBX + 0xfffdbec4]
PUSH 0x5
PUSH EAX
PUSH 0x0
MOV dword ptr [ESP + 0x20],EBX
CALL 0x000130f0
POP EDX
POP ECX
PUSH ESI
PUSH EAX
MOV ESI,dword ptr [ESP + 0x20]
MOV EBX,ESI
LEA ESI,[ESI + 0xfffdf5e4]
CALL 0x00013060
CMP dword ptr [ESP + 0x2c],0x8
MOV ECX,dword ptr [ESP + 0x34]
LEA EAX,[EBX + 0xfffdf5eb]
MOV EDX,dword ptr [ESP + 0x30]
CMOVNZ ESI,EAX
LEA EAX,[EBX + 0xfffc89c5]
MOV dword ptr [ESP],0x0
CALL 0x0004cb50
MOV dword ptr [ESP + 0x50],EAX
ADD ESP,0xc
LEA EAX,[EBX + 0xfffdf610]
PUSH 0x5
PUSH EAX
PUSH 0x0
MOV dword ptr [ESP + 0x20],EBX
CALL 0x000130f0
ADD ESP,0xc
PUSH ESI
MOV EDX,dword ptr [ESP + 0x48]
PUSH EDX
PUSH EAX
MOV ESI,dword ptr [ESP + 0x20]
MOV EBX,ESI
CALL 0x00013060
ADD ESP,0xc
LEA EAX,[ESI + 0xfffdf62d]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP ESI
POP EDX
MOVZX EDX,word ptr [ESP + 0x32]
PUSH EDX
PUSH EAX
CALL 0x00013060
MOV EDX,dword ptr [ESP + 0x6c]
MOV ECX,dword ptr [ESP + 0x7c]
LEA EAX,[EBX + 0xfffc89c5]
MOV dword ptr [ESP],0x0
CALL 0x0004cb50
ADD ESP,0xc
MOV ESI,EAX
LEA EAX,[EBX + 0xfffdf643]
PUSH 0x5
PUSH EAX
PUSH 0x0
MOV dword ptr [ESP + 0x20],EBX
CALL 0x000130f0
POP ECX
POP EBX
PUSH ESI
PUSH EAX
MOV ESI,dword ptr [ESP + 0x20]
MOV EBX,ESI
CALL 0x00013060
ADD ESP,0xc
LEA EAX,[ESI + 0xfffdf65b]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP ESI
POP EDX
MOVZX EDX,byte ptr [ESP + 0x3c]
PUSH EDX
PUSH EAX
CALL 0x00013060
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x114]
TEST ECX,ECX
JNZ 0x00057cb2
TEST EDI,EDI
JZ 0x00056a44
SUB ESP,0x4
PUSH 0x5
MOV ESI,dword ptr [ESP + 0x18]
LEA EAX,[ESI + 0xfffdf6a1]
MOV EBX,ESI
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
MOV EDX,dword ptr [EDI + 0x54]
XOR ECX,ECX
LEA EAX,[ESI + 0xfffc89c5]
MOV dword ptr [ESP],0x0
CALL 0x0004cb50
MOV ECX,dword ptr [EDI + 0x24]
MOV EDX,dword ptr [EDI + 0x20]
MOV dword ptr [ESP],0x0
MOV ESI,EAX
LEA EAX,[EBX + 0xfffc89c5]
CALL 0x0004cb50
MOV dword ptr [ESP + 0x50],EAX
ADD ESP,0xc
LEA EAX,[EBX + 0xfffdbee8]
PUSH 0x5
PUSH EAX
PUSH 0x0
MOV dword ptr [ESP + 0x20],EBX
CALL 0x000130f0
ADD ESP,0xc
PUSH ESI
MOV EDX,dword ptr [ESP + 0x48]
PUSH EDX
PUSH EAX
MOV ESI,dword ptr [ESP + 0x20]
MOV EBX,ESI
CALL 0x00013060
MOV EDX,dword ptr [EDI + 0x58]
XOR ECX,ECX
LEA EAX,[ESI + 0xfffc89c5]
MOV dword ptr [ESP],0x0
CALL 0x0004cb50
MOV ECX,dword ptr [EDI + 0x2c]
MOV EDX,dword ptr [EDI + 0x28]
MOV dword ptr [ESP],0x0
MOV ESI,EAX
LEA EAX,[EBX + 0xfffc89c5]
CALL 0x0004cb50
MOV dword ptr [ESP + 0x50],EAX
ADD ESP,0xc
LEA EAX,[EBX + 0xfffdbf14]
PUSH 0x5
PUSH EAX
PUSH 0x0
MOV dword ptr [ESP + 0x20],EBX
CALL 0x000130f0
ADD ESP,0xc
PUSH ESI
MOV EDX,dword ptr [ESP + 0x48]
PUSH EDX
PUSH EAX
MOV ESI,dword ptr [ESP + 0x20]
MOV EBX,ESI
CALL 0x00013060
MOV EDX,dword ptr [EDI + 0x5c]
XOR ECX,ECX
LEA EAX,[ESI + 0xfffc89c5]
MOV dword ptr [ESP],0x0
CALL 0x0004cb50
MOV ECX,dword ptr [EDI + 0x34]
MOV EDX,dword ptr [EDI + 0x30]
MOV dword ptr [ESP],0x0
MOV ESI,EAX
LEA EAX,[EBX + 0xfffc89c5]
CALL 0x0004cb50
MOV dword ptr [ESP + 0x50],EAX
ADD ESP,0xc
LEA EAX,[EBX + 0xfffdbf40]
PUSH 0x5
PUSH EAX
PUSH 0x0
MOV dword ptr [ESP + 0x20],EBX
CALL 0x000130f0
ADD ESP,0xc
PUSH ESI
MOV EDX,dword ptr [ESP + 0x48]
PUSH EDX
PUSH EAX
MOV ESI,dword ptr [ESP + 0x20]
MOV EBX,ESI
CALL 0x00013060
MOV EDX,dword ptr [EDI + 0x60]
XOR ECX,ECX
LEA EAX,[ESI + 0xfffc89c5]
MOV dword ptr [ESP],0x0
CALL 0x0004cb50
MOV EDX,dword ptr [EDI + 0x38]
MOV ECX,dword ptr [EDI + 0x3c]
MOV dword ptr [ESP],0x0
MOV ESI,EAX
LEA EAX,[EBX + 0xfffc89c5]
CALL 0x0004cb50
MOV dword ptr [ESP + 0x50],EAX
ADD ESP,0xc
LEA EAX,[EBX + 0xfffdbf6c]
PUSH 0x5
PUSH EAX
PUSH 0x0
MOV dword ptr [ESP + 0x20],EBX
CALL 0x000130f0
ADD ESP,0xc
PUSH ESI
MOV EDX,dword ptr [ESP + 0x48]
PUSH EDX
PUSH EAX
MOV EBX,dword ptr [ESP + 0x20]
CALL 0x00013060
ADD ESP,0x10
JMP 0x00056a44
MOV EAX,dword ptr [ESP + 0x10]
MOV EBX,dword ptr [EAX + 0x5d6c]
TEST EBX,EBX
JNZ 0x00056a44
JMP 0x00056993
MOV EDI,dword ptr [ESP + 0x48]
ADD EDI,dword ptr [ESP + 0x20]
ADD EDI,dword ptr [ESP + 0x2c]
MOV dword ptr [ESP + 0x18],EDI
JMP 0x00056ae6
MOV EAX,0x4
SUB ESP,0x8
PUSH EAX
PUSH EBX
MOV EAX,dword ptr [ESP + 0x28]
CALL dword ptr [EAX]
MOV EDI,EAX
MOV ECX,EDX
ADD ESP,0x10
NOT EDI
OR ECX,EDI
JZ 0x00057800
MOV ESI,EAX
MOV EDI,EDX
MOV ECX,0xe
ADD ESI,0x10
ADC EDI,-0x1
MOV dword ptr [ESP + 0x8],ESI
MOV ESI,0x0
CMP ECX,dword ptr [ESP + 0x8]
MOV dword ptr [ESP + 0xc],EDI
SBB ESI,dword ptr [ESP + 0xc]
JNC 0x00057e5e
LEA ESI,[EAX + 0x4]
ADD EBX,ESI
TEST EAX,EAX
SETLE CL
CMP dword ptr [ESP + 0x2c],EBX
MOV ESI,ECX
SETA CL
MOV EDI,ECX
OR ESI,EDI
MOV ECX,ESI
TEST CL,CL
JNZ 0x00056bdf
ADD dword ptr [ESP + 0x7c],0x1
CMP EBX,EBP
JC 0x00056bc0
MOV EAX,dword ptr [ESP + 0x7c]
MOV EBP,dword ptr [ESP + 0x1c]
TEST EAX,EAX
JZ 0x00057e2b
CMP EAX,0x3333332
JA 0x00057ed0
MOV EAX,dword ptr [ESP + 0x7c]
SUB ESP,0xc
LEA ESI,[EAX + EAX*0x4]
SHL ESI,0x4
PUSH ESI
MOV EDI,dword ptr [ESP + 0x20]
MOV EBX,EDI
CALL 0x0006b190
ADD ESP,0xc
PUSH ESI
PUSH 0x0
PUSH EAX
MOV dword ptr [EDI + 0x5d64],EAX
CALL 0x000132b0
MOV EDI,dword ptr [ESP + 0x8c]
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x110]
MOV dword ptr [EBX + 0x5d68],EDI
TEST EAX,EAX
JZ 0x0005658e
MOV EDI,dword ptr [ESP + 0x78]
MOV EDX,EBP
MOV EAX,EDI
CALL 0x0004e130
MOV EDX,dword ptr [ESP + 0x10]
MOV EAX,EDI
SHL EAX,0x6
MOV EAX,dword ptr [EAX + EDX*0x1 + 0x850]
LEA EBX,[EDX + 0x840]
MOV dword ptr [ESP + 0x84],EBX
TEST EAX,EAX
JZ 0x00057bf6
LEA EAX,[EDX + 0x5dd4]
MOV dword ptr [ESP + 0x114],0x0
MOV dword ptr [ESP + 0x4c],EAX
JMP 0x0005662b
MOV EAX,dword ptr [ESP + 0x1c]
SUB ESP,0x8
MOV EBX,dword ptr [ESP + 0x18]
PUSH EAX
PUSH ECX
LEA ESI,[EBX + 0x5dd8]
CALL dword ptr [ESI]
MOV dword ptr [ESP + 0x60],EAX
MOV dword ptr [ESP + 0x64],EDX
ADD ESP,0x10
JMP 0x00056920
MOV EAX,0x1
MOV dword ptr [ESP + 0x34],ECX
SUB ESP,0x8
MOV EDX,dword ptr [ESP + 0x18]
PUSH EAX
PUSH EBX
LEA EBX,[EBP + 0x4]
LEA ESI,[EDX + 0x5dd8]
CALL dword ptr [ESI]
MOV dword ptr [ESP + 0x68],EAX
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x14]
CMP EAX,0x2
SETZ AL
MOV ECX,dword ptr [ESP + 0x34]
MOVZX EAX,AL
CMP EBX,EDX
MOV dword ptr [ESP + 0x114],EAX
MOV EAX,0x1
JC 0x000567c4
CMP ECX,EDX
JNC 0x0005729d
MOV EAX,EDX
SUB EAX,ECX
LEA EDX,[EAX + -0x1]
CMP EDX,0x7
JBE 0x000567c4
MOV EAX,dword ptr [ESP + 0x1c]
MOV byte ptr [ESP + 0x34],0x0
LEA EBP,[EBX + EAX*0x1]
CMP dword ptr [ESP + 0x14],EBP
JBE 0x000567f7
MOV EAX,dword ptr [ESP + 0x1c]
JMP 0x00056caa
CALL 0x0004ce90
MOV EAX,dword ptr [ESP + 0x60]
XOR EBX,EBX
CMP dword ptr [ESP + 0x5c],EAX
MOV ECX,EAX
MOV EAX,dword ptr [ESP + 0x6c]
SBB EAX,EBX
JNC 0x00057b08
MOV EAX,dword ptr [ESP + 0x78]
MOV EDX,dword ptr [ESP + 0x60]
SHL EAX,0x6
ADD EAX,dword ptr [ESP + 0x84]
MOV ESI,dword ptr [EAX + 0x1c]
MOV dword ptr [ESP + 0x20],ESI
MOV ESI,dword ptr [EAX + 0x20]
MOV dword ptr [ESP + 0x30],ESI
MOV ESI,dword ptr [ESP + 0x70]
ADD EDX,ESI
ADD ECX,dword ptr [ESP + 0x70]
ADC EBX,dword ptr [ESP + 0x74]
MOV dword ptr [ESP + 0x38],EDX
MOV EDX,dword ptr [ESP + 0x30]
CMP dword ptr [ESP + 0x20],ECX
SBB EDX,EBX
JC 0x00057c80
MOV EDX,dword ptr [ESP + 0x10]
MOV ECX,dword ptr [EDX + 0x5ce4]
TEST ECX,ECX
JNZ 0x00057341
MOV EAX,dword ptr [EAX + 0x10]
MOV EDX,dword ptr [ESP + 0x38]
ADD ESI,dword ptr [ESP + 0x5c]
ADD EDX,EAX
ADD EAX,ESI
CALL 0x0004fb10
CMP EBP,dword ptr [ESP + 0x18]
JNC 0x00056ae6
MOV EAX,dword ptr [ESP + 0x68]
MOVZX ESI,byte ptr [ESP + 0x34]
MOV dword ptr [ESP + 0x94],0xffffffff
MOV dword ptr [ESP + 0x9c],0x0
LEA EAX,[EAX + EAX*0x4]
MOV dword ptr [ESP + 0x38],0x0
SHL EAX,0x4
MOV dword ptr [ESP + 0x40],ESI
MOV dword ptr [ESP + 0x98],EAX
LEA EAX,[ESP + 0xb0]
MOV dword ptr [ESP + 0x6c],EAX
MOV dword ptr [ESP + 0x44],0x0
MOV dword ptr [ESP + 0x48],EDI
MOV EDI,EBP
MOV EBX,dword ptr [ESP + 0x18]
MOV EAX,EDI
SUB EAX,dword ptr [ESP + 0x2c]
MOV dword ptr [ESP + 0x20],EAX
PUSH EBX
PUSH 0x0
PUSH dword ptr [ESP + 0x74]
PUSH EDI
CALL 0x0004f990
MOV ESI,EAX
MOV EAX,dword ptr [ESP + 0xc0]
ADD ESP,0x10
ADD EAX,EDI
MOV EDI,EAX
TEST ESI,ESI
JNZ 0x00057578
MOV EDX,dword ptr [ESP + 0x38]
TEST EDX,EDX
JNZ 0x000573e1
CMP dword ptr [ESP + 0x14],EBX
JZ 0x00057770
MOV EDX,dword ptr [ESP + 0x38]
MOV EAX,dword ptr [ESP + 0x110]
LEA ESI,[EDX + -0x1]
TEST EAX,EAX
JNZ 0x00057420
MOV EAX,dword ptr [ESP + 0x4c]
MOV EBX,dword ptr [ESP + 0x20]
CMP dword ptr [EAX],EBX
JA 0x00057420
MOV EAX,dword ptr [ESP + 0x10]
MOV EAX,dword ptr [EAX + 0x828]
CMP EAX,EDX
JG 0x00057496
CMP EAX,-0x1
JZ 0x00057496
LEA ESI,[ESI]
TEST ESI,ESI
JS 0x000574d0
MOV EAX,dword ptr [ESP + 0x4c]
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JZ 0x00057560
CMP ESI,dword ptr [ESP + 0x94]
JGE 0x00057560
MOV EAX,0x1
ADD ESP,0xfc
POP EBX
POP ESI
POP EDI
POP EBP
RET
JZ 0x00056ae6
MOV EDX,dword ptr [ESP + 0x110]
TEST EDX,EDX
JNZ 0x0005779f
MOV EAX,dword ptr [ESP + 0x4c]
MOV EDX,dword ptr [ESP + 0x20]
CMP EDX,dword ptr [EAX]
JC 0x0005779f
MOV EAX,dword ptr [ESP + 0x10]
MOV EAX,dword ptr [EAX + 0x828]
CMP dword ptr [ESP + 0x38],EAX
JL 0x00057491
CMP EAX,-0x1
JNZ 0x0005779f
MOV ESI,0xffffffff
SUB ESP,0x4
PUSH 0x5
MOV EBP,dword ptr [ESP + 0x18]
LEA EAX,[EBP + 0xfffdf6bc]
MOV EBX,EBP
PUSH EAX
PUSH 0x0
CALL 0x000130f0
ADD ESP,0xc
PUSH dword ptr [ESP + 0x24]
PUSH dword ptr [ESP + 0x40]
PUSH EAX
CALL 0x00013060
ADD ESP,0x10
TEST ESI,ESI
JNS 0x00057428
LEA ESI,[ESI]
NOP
MOV EAX,dword ptr [ESP + 0x10]
CMP dword ptr [EAX + 0x3ca4],0x2
JA 0x00057428
MOV EAX,dword ptr [ESP + 0x3c]
SUB ESP,0x4
MOV EBP,dword ptr [EAX + 0x8]
PUSH 0x5
MOV EDX,dword ptr [ESP + 0x18]
LEA EAX,[EDX + 0xfffdc10c]
MOV EBX,EDX
PUSH EAX
PUSH 0x0
MOV dword ptr [ESP + 0x20],EDX
CALL 0x000130f0
ADD ESP,0xc
PUSH EBP
PUSH dword ptr [ESP + 0x28]
PUSH EAX
MOV EBP,dword ptr [ESP + 0x20]
MOV EBX,EBP
CALL 0x00066db0
MOV EAX,dword ptr [EBP + 0x3ca4]
ADD ESP,0x10
ADD EAX,0x1
MOV dword ptr [EBP + 0x3ca4],EAX
CMP EAX,0x3
JNZ 0x00057428
SUB ESP,0x4
PUSH 0x5
MOV EBP,dword ptr [ESP + 0x18]
LEA EAX,[EBP + 0xfffdc150]
MOV EBX,EBP
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00066db0
ADD ESP,0x10
JMP 0x00057428
MOV dword ptr [ESP + 0x38],ESI
CMP EDI,dword ptr [ESP + 0x18]
JC 0x0005739c
JMP 0x00056ae6
MOV EBP,dword ptr [ESP + 0x110]
TEST EBP,EBP
JNZ 0x00057830
MOV EAX,dword ptr [ESP + 0x4c]
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JZ 0x000575b6
CMP EAX,dword ptr [ESP + 0x20]
JBE 0x000575a3
XOR EDX,EDX
MOV byte ptr [ESP + 0x30],0x0
JMP 0x0005783c
MOV EAX,dword ptr [ESP + 0x94]
CMOVZ EAX,dword ptr [ESP + 0x38]
MOV dword ptr [ESP + 0x94],EAX
MOV EBP,dword ptr [ESP + 0x10]
MOV EAX,dword ptr [EBP + 0x828]
MOV EBX,EBP
CMP EAX,-0x1
SETZ CL
CMP EAX,dword ptr [ESP + 0x38]
SETG DL
OR CL,DL
MOV byte ptr [ESP + 0x30],CL
JZ 0x00057b67
SUB ESP,0x4
LEA EAX,[EBP + 0xfffdc190]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
PUSH ESI
PUSH dword ptr [ESP + 0x34]
PUSH dword ptr [ESP + 0x50]
PUSH EAX
CALL 0x00013060
ADD ESP,0x20
MOV EDX,dword ptr [ESP + 0x38]
MOV dword ptr [ESP + 0x9c],EDX
MOV EDX,0x1
JMP 0x0005783c
MOV EAX,0x8
SUB ESP,0x8
PUSH EAX
PUSH EBP
MOV EAX,dword ptr [ESP + 0x90]
MOV EBP,EBX
LEA EBX,[EBP + 0x2]
CALL dword ptr [EAX]
MOV dword ptr [ESP + 0x30],EAX
MOV dword ptr [ESP + 0x34],EDX
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x14]
MOV dword ptr [ESP + 0x40],0xc
MOV dword ptr [ESP + 0x44],0x0
MOV dword ptr [ESP + 0x38],0xc
MOV dword ptr [ESP + 0x1c],0x8
CMP EBX,EAX
JC 0x000576db
CMP EBP,EAX
JNC 0x00056db1
SUB EAX,EBP
LEA EDX,[EAX + -0x1]
CMP EDX,0x7
JA 0x00056db1
JMP 0x000566e9
MOV dword ptr [ESP + 0x48],ECX
SUB ESP,0x4
LEA EAX,[ESP + 0xac]
PUSH EAX
LEA EAX,[ESP + 0xa8]
PUSH EAX
PUSH EBP
MOV EBX,dword ptr [ESP + 0x20]
CALL 0x000670f0
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x48]
JMP 0x000568e4
MOV EAX,dword ptr [ESP + 0x14]
LEA EBX,[EBP + 0x2]
MOV dword ptr [ESP + 0x40],0x4
MOV dword ptr [ESP + 0x44],0x0
MOV dword ptr [ESP + 0x38],0x4
MOV dword ptr [ESP + 0x1c],0x4
CMP EBX,EAX
JNC 0x00057663
MOV EAX,0x2
JMP 0x000566e9
MOV EAX,dword ptr [ESP + 0x10]
MOV EDI,dword ptr [ESP + 0x114]
OR EDI,dword ptr [EAX + 0x5d6c]
JZ 0x00056b86
MOV EDI,dword ptr [ESP + 0x78]
MOV EDX,EBP
MOV EAX,EDI
CALL 0x0004e130
MOV EAX,dword ptr [ESP + 0x10]
LEA EBX,[EAX + 0x840]
MOV EAX,EDI
SHL EAX,0x6
MOV dword ptr [ESP + 0x84],EBX
MOV ECX,dword ptr [EAX + EBX*0x1 + 0x10]
TEST ECX,ECX
JZ 0x00057bf6
MOV EAX,dword ptr [ESP + 0x10]
MOV EDI,dword ptr [ESP + 0x14]
MOV dword ptr [ESP + 0x7c],0x0
LEA EAX,[EAX + 0x5dd4]
MOV dword ptr [ESP + 0x4c],EAX
CMP dword ptr [ESP + 0x2c],EDI
JC 0x0005662b
MOV EAX,dword ptr [ESP + 0x10]
MOV EDI,dword ptr [ESP + 0x114]
OR EDI,dword ptr [EAX + 0x5d6c]
JNZ 0x00057443
JMP 0x00056b31
MOV EDX,EBX
CMP EBX,EAX
JA 0x0005778b
JMP 0x00057453
ADD EAX,0x1
CMP EDX,EAX
JZ 0x00056ae6
CMP byte ptr [EAX],0x0
JZ 0x00057780
MOV EDX,dword ptr [ESP + 0x110]
TEST EDX,EDX
JZ 0x00057468
MOV ESI,0xffffffff
JMP 0x000574d0
SUB ESP,0xc
PUSH 0x0
MOV EDI,dword ptr [ESP + 0x20]
MOV EDX,dword ptr [ESP + 0x18]
MOV ECX,dword ptr [ESP + 0x1c]
LEA EAX,[EDI + 0xfffc89c5]
MOV EBX,EDI
CALL 0x0004cb50
ADD ESP,0xc
MOV ESI,EAX
LEA EAX,[EDI + 0xfffdbfd4]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
ADD ESP,0xc
MOVZX EDX,word ptr [ESP + 0x2e]
PUSH EDX
PUSH ESI
PUSH EAX
CALL 0x00066db0
ADD ESP,0x10
JMP 0x00056ae6
LEA EAX,[EBX + 0xc]
CMP EBP,EAX
JA 0x00057b3a
CMP ESI,EBP
JNC 0x00056bdb
MOV EAX,EBP
SUB EAX,ESI
LEA EDX,[EAX + -0x1]
CMP EDX,0x7
JA 0x00056bdb
JMP 0x00057b3f
MOV byte ptr [ESP + 0x30],0x0
MOV EDX,dword ptr [ESP + 0x110]
MOV EAX,dword ptr [ESP + 0x10]
MOV EAX,dword ptr [EAX + 0x5ce4]
MOV dword ptr [ESP + 0x70],EAX
TEST EAX,EAX
JZ 0x00057dbe
CMP dword ptr [EAX],ESI
JZ 0x00057869
MOV EAX,dword ptr [EAX + 0x14]
TEST EAX,EAX
JZ 0x00057dbe
CMP dword ptr [EAX],ESI
JNZ 0x00057856
MOV dword ptr [ESP + 0x70],EAX
MOV EAX,dword ptr [ESP + 0x70]
CMP byte ptr [ESP + 0x30],0x0
MOV EAX,dword ptr [EAX + 0x4]
JNZ 0x00057bc3
CMP EAX,0x11
JZ 0x00057ba3
CMP EAX,0x2e
JZ 0x00057b86
CMP EAX,0x3
JZ 0x00057b86
MOV EAX,dword ptr [ESP + 0x10]
MOV dword ptr [EAX + 0x5d70],0x0
MOV EBX,dword ptr [ESP + 0x10]
MOV EAX,dword ptr [EBX + 0x5d64]
TEST EAX,EAX
JZ 0x00057ae8
MOV ECX,dword ptr [ESP + 0x68]
CMP dword ptr [EBX + 0x5d68],ECX
JBE 0x00057ae8
ADD EAX,dword ptr [ESP + 0x98]
MOV EBP,EAX
JZ 0x00057ae8
MOV EAX,dword ptr [EAX + 0x40]
CMP dword ptr [EBP + 0x38],EAX
JNZ 0x00057f43
MOV EAX,dword ptr [ESP + 0x70]
MOV ESI,dword ptr [EAX + 0xc]
TEST ESI,ESI
JZ 0x00057ad0
MOV EAX,dword ptr [ESI]
TEST EAX,EAX
JZ 0x00057a88
MOVZX EAX,word ptr [ESP + 0x2a]
MOV dword ptr [ESP + 0x54],0x0
MOV dword ptr [ESP + 0x34],EBP
MOV dword ptr [ESP + 0x5c],EAX
MOV EAX,EDX
XOR EAX,0x1
OR EAX,dword ptr [ESP + 0x110]
MOV dword ptr [ESP + 0x58],EAX
MOV EAX,dword ptr [ESP + 0x1c]
MOV dword ptr [ESP + 0x50],EAX
MOV EAX,dword ptr [ESP + 0x10]
LEA EBX,[EAX + 0xfffdf6eb]
LEA EAX,[EAX + 0xfffdf6f5]
MOV dword ptr [ESP + 0x88],EBX
MOV dword ptr [ESP + 0x8c],EAX
JMP 0x000579c3
MOV EAX,dword ptr [ESI + 0x4]
MOV EDX,dword ptr [ESI + 0x8]
MOV ECX,dword ptr [ESI + 0xc]
MOV EBP,dword ptr [ESI]
MOV dword ptr [ESP + 0x20],EAX
MOV EAX,dword ptr [ESP + 0x58]
TEST EAX,EAX
JZ 0x000579f0
PUSH 0x20
MOV EAX,EBP
PUSH dword ptr [ESP + 0x4c]
PUSH dword ptr [ESP + 0x44]
PUSH 0x1
PUSH dword ptr [ESP + 0x44]
PUSH dword ptr [ESP + 0x70]
PUSH dword ptr [ESP + 0x6c]
PUSH dword ptr [ESP + 0x6c]
PUSH dword ptr [ESP + 0x64]
PUSH dword ptr [ESP + 0x64]
PUSH dword ptr [ESP + 0x34]
PUSH dword ptr [ESP + 0x34]
PUSH dword ptr [ESP + 0x44]
PUSH EDI
PUSH ECX
PUSH EDX
MOV EDX,dword ptr [ESP + 0x60]
CALL 0x000530b0
MOV ESI,dword ptr [ESI + 0x10]
ADD ESP,0x40
MOV EDI,EAX
TEST ESI,ESI
JZ 0x00057a80
MOV EAX,dword ptr [ESI]
TEST EAX,EAX
JZ 0x00057a80
CMP byte ptr [ESP + 0x30],0x0
JZ 0x00057950
SUB ESP,0x8
MOV EAX,EDI
SUB EAX,dword ptr [ESP + 0x34]
PUSH EAX
PUSH dword ptr [ESP + 0x94]
MOV EBX,dword ptr [ESP + 0x20]
CALL 0x00013060
ADD ESP,0x10
JMP 0x00057950
MOV EAX,EBP
MOV dword ptr [ESP + 0x60],EDX
MOV dword ptr [ESP + 0x64],ECX
CALL 0x0004e800
SUB ESP,0x8
PUSH EAX
PUSH dword ptr [ESP + 0x98]
MOV EBX,dword ptr [ESP + 0x20]
CALL 0x00013060
PUSH 0x20
MOV EAX,EBP
PUSH dword ptr [ESP + 0x5c]
PUSH dword ptr [ESP + 0x54]
PUSH 0x0
PUSH dword ptr [ESP + 0x54]
PUSH dword ptr [ESP + 0x80]
PUSH dword ptr [ESP + 0x7c]
PUSH dword ptr [ESP + 0x7c]
PUSH dword ptr [ESP + 0x74]
PUSH dword ptr [ESP + 0x74]
PUSH dword ptr [ESP + 0x44]
PUSH dword ptr [ESP + 0x44]
PUSH dword ptr [ESP + 0x54]
PUSH EDI
MOV EDX,dword ptr [ESP + 0xa8]
MOV ECX,dword ptr [ESP + 0xac]
PUSH ECX
PUSH EDX
MOV EDX,dword ptr [ESP + 0x70]
CALL 0x000530b0
ADD ESP,0x44
PUSH 0xa
MOV EBX,dword ptr [ESP + 0x20]
MOV EDI,EAX
CALL 0x000132d0
MOV ESI,dword ptr [ESI + 0x10]
ADD ESP,0x10
TEST ESI,ESI
JNZ 0x000579b9
MOV EBP,dword ptr [ESP + 0x34]
TEST EBP,EBP
JZ 0x00057ad0
MOV ECX,dword ptr [EBP + 0x38]
MOV EDX,dword ptr [EBP + 0x40]
MOV EAX,ECX
SUB EAX,EDX
CMP EAX,0x1
JZ 0x00057c39
TEST EAX,EAX
JZ 0x00057ad0
CMP EAX,-0x1
JNZ 0x00057f20
SUB ESP,0x4
PUSH 0x5
MOV ESI,dword ptr [ESP + 0x18]
LEA EAX,[ESI + 0xfffdc28c]
MOV EBX,ESI
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00066db0
SUB dword ptr [EBP + 0x40],0x1
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x70]
CMP dword ptr [EAX + 0x8],0x1
SBB dword ptr [ESP + 0x38],-0x1
JMP 0x00057564
MOV EAX,dword ptr [ESP + 0x70]
MOV ESI,dword ptr [EAX + 0xc]
TEST ESI,ESI
JZ 0x00057ad0
MOV ECX,dword ptr [ESI]
XOR EBP,EBP
TEST ECX,ECX
JNZ 0x000578fa
JMP 0x00057ad0
SUB ESP,0x4
PUSH 0x5
MOV ESI,dword ptr [ESP + 0x18]
LEA EAX,[ESI + 0xfffdc05c]
MOV EBX,ESI
PUSH EAX
PUSH 0x0
CALL 0x000130f0
ADD ESP,0xc
PUSH dword ptr [ESP + 0x64]
PUSH dword ptr [ESP + 0x64]
PUSH EAX
CALL 0x00066db0
ADD ESP,0x10
JMP 0x00057341
MOV EAX,0x8
SUB ESP,0x8
PUSH EAX
PUSH ESI
MOV EAX,dword ptr [ESP + 0x28]
CALL dword ptr [EAX]
LEA ESI,[EAX + 0xc]
ADD ESP,0x10
ADD EBX,ESI
CMP dword ptr [ESP + 0x2c],EBX
SETA CL
TEST EAX,EAX
MOV ESI,ECX
SETLE CL
OR ESI,ECX
JMP 0x0005714a
CMP EAX,dword ptr [ESP + 0x9c]
JG 0x00057e91
MOV EAX,dword ptr [ESP + 0x38]
XOR EDX,EDX
MOV dword ptr [ESP + 0x9c],EAX
JMP 0x0005783c
MOV EAX,dword ptr [ESP + 0x10]
MOV dword ptr [EAX + 0x5d70],0x0
MOV dword ptr [EAX + 0x5d74],0x0
JMP 0x000578a4
MOV EAX,dword ptr [ESP + 0x10]
MOV EBX,dword ptr [ESP + 0x110]
MOV dword ptr [EAX + 0x5d70],0x1
MOV dword ptr [EAX + 0x5d4c],EBX
JMP 0x000578a4
MOV dword ptr [ESP + 0x20],EDX
CALL 0x0004e780
SUB ESP,0x8
PUSH EAX
MOV EBX,dword ptr [ESP + 0x1c]
LEA EAX,[EBX + 0xfffdf626]
PUSH EAX
CALL 0x00013060
MOV EAX,dword ptr [ESP + 0x80]
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x20]
MOV EAX,dword ptr [EAX + 0x4]
JMP 0x0005787b
MOV EAX,dword ptr [ESP + 0x78]
MOV EDI,dword ptr [ESP + 0x84]
SUB ESP,0x4
SHL EAX,0x6
MOV ESI,dword ptr [EAX + EDI*0x1]
PUSH 0x5
MOV EDI,dword ptr [ESP + 0x18]
LEA EAX,[EDI + 0xfffdf5f2]
MOV EBX,EDI
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDI
POP EBP
PUSH ESI
PUSH EAX
CALL 0x00066db0
ADD ESP,0x10
XOR EAX,EAX
ADD ESP,0xfc
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [EBP + 0x30]
MOV dword ptr [EAX + EDX*0x8],0xffffffff
MOV dword ptr [EAX + EDX*0x8 + 0x4],0xffffffff
ADD EDX,0x1
MOV dword ptr [EBP + 0x40],EDX
CMP EDX,ECX
JZ 0x00057ad0
MOV EBX,dword ptr [ESP + 0x10]
LEA EAX,[EBX + 0xfffe193c]
PUSH EAX
LEA EAX,[EBX + 0xfffde522]
PUSH 0xc9f
PUSH EAX
LEA EAX,[EBX + 0xfffdc24c]
PUSH EAX
CALL 0x00013420
SUB ESP,0x4
PUSH 0x5
MOV ESI,dword ptr [ESP + 0x18]
LEA EAX,[ESI + 0xfffdc0b4]
MOV EBX,ESI
PUSH EAX
PUSH 0x0
CALL 0x000130f0
ADD ESP,0xc
PUSH dword ptr [ESP + 0x24]
PUSH dword ptr [ESP + 0x40]
PUSH EAX
CALL 0x00066db0
ADD ESP,0x10
JMP 0x00057341
SUB ESP,0x4
LEA EAX,[ESP + 0xb4]
PUSH EAX
PUSH dword ptr [ESP + 0xb4]
PUSH dword ptr [ESP + 0xb4]
MOV EAX,dword ptr [ESP + 0xb0]
MOV EDX,dword ptr [ESP + 0xb4]
CALL 0x0004eae0
ADD ESP,0xc
PUSH 0x5
MOV EDX,dword ptr [ESP + 0x18]
MOV ESI,EAX
LEA EAX,[EDX + 0xfffdf671]
MOV EBX,EDX
PUSH EAX
PUSH 0x0
MOV dword ptr [ESP + 0x20],EDX
CALL 0x000130f0
POP EBX
POP EDX
PUSH ESI
PUSH EAX
MOV ESI,dword ptr [ESP + 0x20]
MOV EBX,ESI
CALL 0x00013060
MOV EDX,dword ptr [ESP + 0x60]
MOV ECX,dword ptr [ESP + 0x64]
LEA EAX,[ESI + 0xfffc89c5]
MOV dword ptr [ESP],0x0
CALL 0x0004cb50
ADD ESP,0xc
MOV ESI,EAX
LEA EAX,[EBX + 0xfffdf689]
PUSH 0x5
PUSH EAX
PUSH 0x0
MOV dword ptr [ESP + 0x20],EBX
CALL 0x000130f0
POP ECX
POP EBX
PUSH ESI
PUSH EAX
MOV EBX,dword ptr [ESP + 0x20]
CALL 0x00013060
ADD ESP,0x10
JMP 0x00056f00
MOV EAX,dword ptr [ESP + 0x3c]
LEA EDX,[EAX + 0xc]
MOV EAX,dword ptr [EAX + 0x8]
CALL 0x0004eb80
JMP 0x0005661d
SUB ESP,0xc
PUSH 0x0
MOV EBP,dword ptr [ESP + 0x20]
MOV EDX,dword ptr [ESP + 0x30]
MOV ECX,dword ptr [ESP + 0x34]
LEA EAX,[EBP + 0xfffc89c5]
MOV EBX,EBP
CALL 0x0004cb50
MOV EDI,EAX
MOV EAX,dword ptr [ESP + 0x4c]
ADD ESP,0xc
MOV ESI,dword ptr [EAX + 0x8]
LEA EAX,[EBP + 0xfffdbf98]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
PUSH EDI
PUSH dword ptr [ESP + 0x44]
PUSH ESI
PUSH EAX
CALL 0x00066db0
ADD ESP,0x20
MOV EAX,dword ptr [ESP + 0x68]
MOV dword ptr [ESP + 0x7c],EAX
JMP 0x00056af9
CMP byte ptr [ESP + 0x30],0x0
MOV ECX,ESI
JNZ 0x00057e00
MOV dword ptr [ESP + 0x8],ECX
SUB ESP,0x4
PUSH 0x5
MOV EDI,dword ptr [ESP + 0x18]
LEA EAX,[EDI + 0xfffdc1b0]
MOV EBX,EDI
PUSH EAX
PUSH 0x0
CALL 0x000130f0
ADD ESP,0xc
MOV ECX,dword ptr [ESP + 0xc]
PUSH ECX
PUSH dword ptr [ESP + 0x28]
PUSH EAX
CALL 0x00066db0
ADD ESP,0x10
XOR EAX,EAX
JMP 0x00057448
MOV dword ptr [ESP + 0x8],ECX
SUB ESP,0xc
PUSH 0xa
MOV EDI,dword ptr [ESP + 0x20]
MOV EBX,EDI
CALL 0x000132d0
MOV EAX,dword ptr [EDI + 0xffffffd8]
POP ESI
PUSH dword ptr [EAX]
CALL 0x00013070
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x8]
JMP 0x00057dc7
MOV EAX,dword ptr [ESP + 0x3c]
SUB ESP,0x4
MOV ESI,dword ptr [EAX + 0x8]
PUSH 0x5
MOV EDI,dword ptr [ESP + 0x18]
LEA EAX,[EDI + 0xfffdbdc8]
MOV EBX,EDI
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDI
POP EBP
PUSH ESI
PUSH EAX
CALL 0x00066870
ADD ESP,0x10
XOR EAX,EAX
JMP 0x00057448
MOV EDI,dword ptr [ESP + 0x3c]
SUB ESP,0xc
MOV ECX,EDX
MOV EDX,EAX
MOV ESI,dword ptr [EDI + 0x8]
PUSH 0x0
MOV EBP,dword ptr [ESP + 0x20]
LEA EAX,[EBP + 0xfffc89c5]
MOV EBX,EBP
CALL 0x0004cb50
ADD ESP,0xc
MOV EDI,EAX
PUSH 0x5
LEA EAX,[EBP + 0xfffdbde8]
JMP 0x00056c0d
SUB ESP,0x4
PUSH 0x5
MOV EBP,dword ptr [ESP + 0x18]
LEA EAX,[EBP + 0xfffdf6da]
MOV EBX,EBP
PUSH EAX
PUSH 0x0
CALL 0x000130f0
ADD ESP,0xc
PUSH dword ptr [ESP + 0x24]
PUSH dword ptr [ESP + 0x40]
PUSH EAX
CALL 0x00013060
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x38]
XOR EDX,EDX
MOV dword ptr [ESP + 0x9c],EAX
JMP 0x0005783c
MOV EDI,dword ptr [ESP + 0x10]
SUB ESP,0x4
PUSH 0x5
LEA EAX,[EDI + 0xfffdbe4c]
MOV EBX,EDI
MOV dword ptr [EDI + 0x5d64],0x0
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDX
POP ECX
PUSH dword ptr [ESP + 0x84]
PUSH EAX
CALL 0x00066870
ADD ESP,0x10
XOR EAX,EAX
MOV dword ptr [EDI + 0x5d6c],0x0
MOV dword ptr [EDI + 0x5d68],0x0
JMP 0x00057448
MOV EBX,dword ptr [ESP + 0x10]
LEA EAX,[EBX + 0xfffe193c]
PUSH EAX
LEA EAX,[EBX + 0xfffde522]
PUSH 0xcab
PUSH EAX
LEA EAX,[EBX + 0xfffde508]
PUSH EAX
CALL 0x00013420
LEA EAX,[EBX + 0xfffe193c]
PUSH EAX
LEA EAX,[EBX + 0xfffde522]
PUSH 0xc7c
PUSH EAX
LEA EAX,[EBX + 0xfffdc1fc]
PUSH EAX
CALL 0x00013420
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Type propagation algorithm not settling */\n\nundefined4 __regparm3\nFUN_00056530(int param_1,undefined4 param_2,int param_3,int param_4,uint param_5)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined *puVar3;\n  longlong lVar4;\n  undefined8 uVar5;\n  byte bVar6;\n  int iVar7;\n  uint uVar8;\n  uint uVar9;\n  undefined4 uVar10;\n  uint uVar11;\n  uint *puVar12;\n  uint uVar13;\n  undefined4 uVar14;\n  char *pcVar15;\n  char *pcVar16;\n  char *pcVar17;\n  char *pcVar18;\n  void *pvVar19;\n  undefined4 uVar20;\n  bool bVar21;\n  int iVar22;\n  uint uVar23;\n  int *piVar24;\n  char *pcVar25;\n  int iVar26;\n  undefined8 uVar27;\n  longlong lVar28;\n  char *local_f4;\n  uint local_f0;\n  int local_ec;\n  ushort local_e2;\n  int local_d4;\n  undefined4 local_cc;\n  int local_b4;\n  uint local_b0;\n  uint local_ac;\n  uint local_a4;\n  uint local_a0;\n  uint local_9c;\n  int local_98;\n  uint local_90;\n  int local_78;\n  int local_70;\n  undefined4 local_6c;\n  undefined4 local_68;\n  undefined4 local_64;\n  undefined4 local_60;\n  int local_5c [18];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x5653b;\n  pcVar15 = *(char **)(param_1 + 0x10);\n  pcVar25 = pcVar15 + *(int *)(param_1 + 0x1c);\n  if (param_4 == 0) {\n    if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0)) {\n      local_90 = 0;\n    }\n    else {\nLAB_00056b86:\n      local_90 = 0;\n      pcVar18 = pcVar15;\n      if (pcVar25 <= pcVar15) {\nLAB_00057e2b:\n        uVar10 = *(undefined4 *)(param_1 + 8);\n        uVar14 = dcgettext(0,"No comp units in %s section ?\n",5);\n        error(uVar14,uVar10);\n        return 0;\n      }\n      do {\n        pcVar17 = pcVar18 + 4;\n        if (pcVar25 <= pcVar17) {\n          iVar7 = (int)pcVar25 - (int)pcVar18;\n          if (iVar7 - 1U < 8) goto LAB_000570ed;\nLAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);\n          uVar14 = FUN_0004cb50(0);\n          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);\n          warn(uVar20,uVar14,uVar10);\n          return 0;\n        }\n        iVar7 = 4;\nLAB_000570ed:\n        lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n        if (lVar28 == 0xffffffff) {\n          if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;\n          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);\n          pcVar18 = pcVar18 + iVar7 + 0xc;\n          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;\n        }\n        else {\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }\n        if (bVar21) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      } while (pcVar18 < pcVar25);\n      if (local_90 == 0) goto LAB_00057e2b;\n      if (0x3333332 < local_90) {\n        DAT_000b9d64 = (void *)0x0;\n        uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(uVar10,local_90);\n        DAT_000b9d68 = 0;\n        DAT_000b9d6c = 0;\n        return 0;\n      }\n      DAT_000b9d64 = (void *)FUN_0006b190(local_90 * 0x50);\n      memset(DAT_000b9d64,0,local_90 * 0x50);\n      DAT_000b9d68 = local_90;\n      if (param_4 != 0) {\n        FUN_0004e130();\n        if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n        param_5 = 0;\n        goto LAB_0005662b;\n      }\n    }\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) {\nLAB_00057bf6:\n      puVar3 = (&PTR_s__debug_abbrev_000b4840)[param_3 * 0x10];\n      uVar10 = dcgettext(0,"Unable to locate %s section!\n",5);\n      warn(uVar10,puVar3);\n      return 0;\n    }\n    if (DAT_000b9dd4 == 0) {\n      FUN_0004eb80();\n    }\n    if (pcVar15 < pcVar25) {\nLAB_0005662b:\n      local_a4 = 0;\n      local_f4 = pcVar15;\n      do {\n        local_6c = 0;\n        local_68 = 0;\n        local_64 = 0;\n        pcVar18 = local_f4 + 4;\n        local_60 = 0;\n        pcVar17 = pcVar18;\n        if (pcVar18 < pcVar25) {\n          iVar7 = 4;\nLAB_00056d25:\n          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);\n          if (lVar28 == 0xffffffff) {\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }\n          else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;\nLAB_000566e9:\n          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);\n        }\n        else {\n          iVar7 = (int)pcVar25 - (int)local_f4;\n          if (iVar7 - 1U < 8) goto LAB_00056d25;\n          local_cc = 4;\n          pcVar16 = local_f4 + 6;\n          local_d4 = 4;\n          local_f0 = 4;\njoined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }\n          lVar28 = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }\n        local_ec = (int)lVar28;\n        uVar8 = (int)local_f4 - (int)pcVar15;\n        uVar9 = (int)uVar8 >> 0x1f;\n        if (param_5 == 0) {\n          iVar22 = 1;\n          iVar7 = DAT_000b9d34;\n          iVar26 = DAT_000b9d2c;\n        }\n        else {\n          iVar22 = 2;\n          iVar7 = DAT_000b9d30;\n          iVar26 = DAT_000b9d28;\n        }\n        for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;\n          iVar26 = iVar26 + 0x68;\n        }\n        iVar26 = 0;\njoined_r0x0005676e:\n        uVar13 = local_f0;\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar6 = 0xff;\njoined_r0x000567df:\n          pcVar18 = pcVar16 + local_f0;\n          if ((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))\n          goto LAB_00056caa;\nLAB_000567f7:\n          uVar27 = 0;\n          uVar5 = 0;\n          if (iVar26 != 0) goto LAB_0005680f;\nLAB_00056cce:\n          uVar27 = uVar5;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n        }\n        else {\n          pcVar18 = pcVar17 + 3;\n          if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }\n          pcVar16 = pcVar17 + 4;\n          bVar6 = 0;\n          pcVar18 = pcVar16 + local_f0;\n          if (pcVar25 <= pcVar18) goto LAB_000567f7;\nLAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);\n          uVar5 = uVar27;\n          if (iVar26 == 0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);\n          local_98 = *(int *)(iVar26 + 0x24);\n          local_ac = *(uint *)(iVar26 + 0x54);\n        }\n        local_a0 = (uint)((ulonglong)uVar27 >> 0x20);\n        local_b0 = (uint)uVar27;\n        pcVar17 = pcVar18;\n        if (local_e2 < 5) {\n          pcVar17 = pcVar18 + 1;\n          if (pcVar17 < pcVar25) {\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }\n          if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))\n          goto LAB_00056c35;\n          bVar6 = 0;\nLAB_00056853:\n          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;\n          warn(uVar10,bVar6,local_f0);\n          bVar6 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;\n        }\n        if (param_5 != 0) {\n          pcVar18 = pcVar17 + 8;\n          if (pcVar25 < pcVar18) {\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }\n          else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }\n          pcVar17 = pcVar18 + local_f0;\n          uVar13 = local_f0;\n          if ((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }\n        }\n        uVar13 = DAT_000b9dd4;\n        uVar11 = local_d4 + uVar8;\n        lVar4 = lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8;\n        if ((uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4)) {\n          local_f4 = pcVar15 + uVar11 + local_ec;\n        }\n        else {\n          if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);\n          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);\n          if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + local_d4 + local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }\n        }\nLAB_00056ae6:\n        local_a4 = local_a4 + 1;\n      } while (local_f4 < pcVar25);\n      if (param_4 != 0) goto LAB_00057752;\n    }\n    if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0))\n    goto LAB_00056b59;\n  }\n  else {\n    if (param_5 == 0 && DAT_000b9d6c == 0) goto LAB_00056b86;\n    FUN_0004e130();\n    if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n    local_90 = 0;\n    if (pcVar15 < pcVar25) goto LAB_0005662b;\nLAB_00057752:\n    if (param_5 != 0 || DAT_000b9d6c != 0) {\n      return 1;\n    }\n  }\n  DAT_000b9d6c = DAT_000b9d68;\n  if (local_90 <= DAT_000b9d68) {\n    DAT_000b9d6c = local_90;\n  }\n  if (param_4 != 0) {\n    return 1;\n  }\nLAB_00056b59:\n  putchar(10);\n  return 1;\n}\n\n" comment comment (function_definition "undefined4 __regparm3\nFUN_00056530(int param_1,undefined4 param_2,int param_3,int param_4,uint param_5)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined *puVar3;\n  longlong lVar4;\n  undefined8 uVar5;\n  byte bVar6;\n  int iVar7;\n  uint uVar8;\n  uint uVar9;\n  undefined4 uVar10;\n  uint uVar11;\n  uint *puVar12;\n  uint uVar13;\n  undefined4 uVar14;\n  char *pcVar15;\n  char *pcVar16;\n  char *pcVar17;\n  char *pcVar18;\n  void *pvVar19;\n  undefined4 uVar20;\n  bool bVar21;\n  int iVar22;\n  uint uVar23;\n  int *piVar24;\n  char *pcVar25;\n  int iVar26;\n  undefined8 uVar27;\n  longlong lVar28;\n  char *local_f4;\n  uint local_f0;\n  int local_ec;\n  ushort local_e2;\n  int local_d4;\n  undefined4 local_cc;\n  int local_b4;\n  uint local_b0;\n  uint local_ac;\n  uint local_a4;\n  uint local_a0;\n  uint local_9c;\n  int local_98;\n  uint local_90;\n  int local_78;\n  int local_70;\n  undefined4 local_6c;\n  undefined4 local_68;\n  undefined4 local_64;\n  undefined4 local_60;\n  int local_5c [18];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x5653b;\n  pcVar15 = *(char **)(param_1 + 0x10);\n  pcVar25 = pcVar15 + *(int *)(param_1 + 0x1c);\n  if (param_4 == 0) {\n    if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0)) {\n      local_90 = 0;\n    }\n    else {\nLAB_00056b86:\n      local_90 = 0;\n      pcVar18 = pcVar15;\n      if (pcVar25 <= pcVar15) {\nLAB_00057e2b:\n        uVar10 = *(undefined4 *)(param_1 + 8);\n        uVar14 = dcgettext(0,"No comp units in %s section ?\n",5);\n        error(uVar14,uVar10);\n        return 0;\n      }\n      do {\n        pcVar17 = pcVar18 + 4;\n        if (pcVar25 <= pcVar17) {\n          iVar7 = (int)pcVar25 - (int)pcVar18;\n          if (iVar7 - 1U < 8) goto LAB_000570ed;\nLAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);\n          uVar14 = FUN_0004cb50(0);\n          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);\n          warn(uVar20,uVar14,uVar10);\n          return 0;\n        }\n        iVar7 = 4;\nLAB_000570ed:\n        lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n        if (lVar28 == 0xffffffff) {\n          if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;\n          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);\n          pcVar18 = pcVar18 + iVar7 + 0xc;\n          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;\n        }\n        else {\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }\n        if (bVar21) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      } while (pcVar18 < pcVar25);\n      if (local_90 == 0) goto LAB_00057e2b;\n      if (0x3333332 < local_90) {\n        DAT_000b9d64 = (void *)0x0;\n        uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(uVar10,local_90);\n        DAT_000b9d68 = 0;\n        DAT_000b9d6c = 0;\n        return 0;\n      }\n      DAT_000b9d64 = (void *)FUN_0006b190(local_90 * 0x50);\n      memset(DAT_000b9d64,0,local_90 * 0x50);\n      DAT_000b9d68 = local_90;\n      if (param_4 != 0) {\n        FUN_0004e130();\n        if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n        param_5 = 0;\n        goto LAB_0005662b;\n      }\n    }\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) {\nLAB_00057bf6:\n      puVar3 = (&PTR_s__debug_abbrev_000b4840)[param_3 * 0x10];\n      uVar10 = dcgettext(0,"Unable to locate %s section!\n",5);\n      warn(uVar10,puVar3);\n      return 0;\n    }\n    if (DAT_000b9dd4 == 0) {\n      FUN_0004eb80();\n    }\n    if (pcVar15 < pcVar25) {\nLAB_0005662b:\n      local_a4 = 0;\n      local_f4 = pcVar15;\n      do {\n        local_6c = 0;\n        local_68 = 0;\n        local_64 = 0;\n        pcVar18 = local_f4 + 4;\n        local_60 = 0;\n        pcVar17 = pcVar18;\n        if (pcVar18 < pcVar25) {\n          iVar7 = 4;\nLAB_00056d25:\n          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);\n          if (lVar28 == 0xffffffff) {\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }\n          else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;\nLAB_000566e9:\n          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);\n        }\n        else {\n          iVar7 = (int)pcVar25 - (int)local_f4;\n          if (iVar7 - 1U < 8) goto LAB_00056d25;\n          local_cc = 4;\n          pcVar16 = local_f4 + 6;\n          local_d4 = 4;\n          local_f0 = 4;\njoined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }\n          lVar28 = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }\n        local_ec = (int)lVar28;\n        uVar8 = (int)local_f4 - (int)pcVar15;\n        uVar9 = (int)uVar8 >> 0x1f;\n        if (param_5 == 0) {\n          iVar22 = 1;\n          iVar7 = DAT_000b9d34;\n          iVar26 = DAT_000b9d2c;\n        }\n        else {\n          iVar22 = 2;\n          iVar7 = DAT_000b9d30;\n          iVar26 = DAT_000b9d28;\n        }\n        for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;\n          iVar26 = iVar26 + 0x68;\n        }\n        iVar26 = 0;\njoined_r0x0005676e:\n        uVar13 = local_f0;\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar6 = 0xff;\njoined_r0x000567df:\n          pcVar18 = pcVar16 + local_f0;\n          if ((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))\n          goto LAB_00056caa;\nLAB_000567f7:\n          uVar27 = 0;\n          uVar5 = 0;\n          if (iVar26 != 0) goto LAB_0005680f;\nLAB_00056cce:\n          uVar27 = uVar5;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n        }\n        else {\n          pcVar18 = pcVar17 + 3;\n          if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }\n          pcVar16 = pcVar17 + 4;\n          bVar6 = 0;\n          pcVar18 = pcVar16 + local_f0;\n          if (pcVar25 <= pcVar18) goto LAB_000567f7;\nLAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);\n          uVar5 = uVar27;\n          if (iVar26 == 0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);\n          local_98 = *(int *)(iVar26 + 0x24);\n          local_ac = *(uint *)(iVar26 + 0x54);\n        }\n        local_a0 = (uint)((ulonglong)uVar27 >> 0x20);\n        local_b0 = (uint)uVar27;\n        pcVar17 = pcVar18;\n        if (local_e2 < 5) {\n          pcVar17 = pcVar18 + 1;\n          if (pcVar17 < pcVar25) {\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }\n          if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))\n          goto LAB_00056c35;\n          bVar6 = 0;\nLAB_00056853:\n          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;\n          warn(uVar10,bVar6,local_f0);\n          bVar6 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;\n        }\n        if (param_5 != 0) {\n          pcVar18 = pcVar17 + 8;\n          if (pcVar25 < pcVar18) {\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }\n          else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }\n          pcVar17 = pcVar18 + local_f0;\n          uVar13 = local_f0;\n          if ((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }\n        }\n        uVar13 = DAT_000b9dd4;\n        uVar11 = local_d4 + uVar8;\n        lVar4 = lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8;\n        if ((uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4)) {\n          local_f4 = pcVar15 + uVar11 + local_ec;\n        }\n        else {\n          if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);\n          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);\n          if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + local_d4 + local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }\n        }\nLAB_00056ae6:\n        local_a4 = local_a4 + 1;\n      } while (local_f4 < pcVar25);\n      if (param_4 != 0) goto LAB_00057752;\n    }\n    if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0))\n    goto LAB_00056b59;\n  }\n  else {\n    if (param_5 == 0 && DAT_000b9d6c == 0) goto LAB_00056b86;\n    FUN_0004e130();\n    if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n    local_90 = 0;\n    if (pcVar15 < pcVar25) goto LAB_0005662b;\nLAB_00057752:\n    if (param_5 != 0 || DAT_000b9d6c != 0) {\n      return 1;\n    }\n  }\n  DAT_000b9d6c = DAT_000b9d68;\n  if (local_90 <= DAT_000b9d68) {\n    DAT_000b9d6c = local_90;\n  }\n  if (param_4 != 0) {\n    return 1;\n  }\nLAB_00056b59:\n  putchar(10);\n  return 1;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_00056530(int param_1,undefined4 param_2,int param_3,int param_4,uint param_5)" identifier (parameter_list "(int param_1,undefined4 param_2,int param_3,int param_4,uint param_5)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "uint param_5" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  undefined *puVar3;\n  longlong lVar4;\n  undefined8 uVar5;\n  byte bVar6;\n  int iVar7;\n  uint uVar8;\n  uint uVar9;\n  undefined4 uVar10;\n  uint uVar11;\n  uint *puVar12;\n  uint uVar13;\n  undefined4 uVar14;\n  char *pcVar15;\n  char *pcVar16;\n  char *pcVar17;\n  char *pcVar18;\n  void *pvVar19;\n  undefined4 uVar20;\n  bool bVar21;\n  int iVar22;\n  uint uVar23;\n  int *piVar24;\n  char *pcVar25;\n  int iVar26;\n  undefined8 uVar27;\n  longlong lVar28;\n  char *local_f4;\n  uint local_f0;\n  int local_ec;\n  ushort local_e2;\n  int local_d4;\n  undefined4 local_cc;\n  int local_b4;\n  uint local_b0;\n  uint local_ac;\n  uint local_a4;\n  uint local_a0;\n  uint local_9c;\n  int local_98;\n  uint local_90;\n  int local_78;\n  int local_70;\n  undefined4 local_6c;\n  undefined4 local_68;\n  undefined4 local_64;\n  undefined4 local_60;\n  int local_5c [18];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x5653b;\n  pcVar15 = *(char **)(param_1 + 0x10);\n  pcVar25 = pcVar15 + *(int *)(param_1 + 0x1c);\n  if (param_4 == 0) {\n    if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0)) {\n      local_90 = 0;\n    }\n    else {\nLAB_00056b86:\n      local_90 = 0;\n      pcVar18 = pcVar15;\n      if (pcVar25 <= pcVar15) {\nLAB_00057e2b:\n        uVar10 = *(undefined4 *)(param_1 + 8);\n        uVar14 = dcgettext(0,"No comp units in %s section ?\n",5);\n        error(uVar14,uVar10);\n        return 0;\n      }\n      do {\n        pcVar17 = pcVar18 + 4;\n        if (pcVar25 <= pcVar17) {\n          iVar7 = (int)pcVar25 - (int)pcVar18;\n          if (iVar7 - 1U < 8) goto LAB_000570ed;\nLAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);\n          uVar14 = FUN_0004cb50(0);\n          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);\n          warn(uVar20,uVar14,uVar10);\n          return 0;\n        }\n        iVar7 = 4;\nLAB_000570ed:\n        lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n        if (lVar28 == 0xffffffff) {\n          if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;\n          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);\n          pcVar18 = pcVar18 + iVar7 + 0xc;\n          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;\n        }\n        else {\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }\n        if (bVar21) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      } while (pcVar18 < pcVar25);\n      if (local_90 == 0) goto LAB_00057e2b;\n      if (0x3333332 < local_90) {\n        DAT_000b9d64 = (void *)0x0;\n        uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(uVar10,local_90);\n        DAT_000b9d68 = 0;\n        DAT_000b9d6c = 0;\n        return 0;\n      }\n      DAT_000b9d64 = (void *)FUN_0006b190(local_90 * 0x50);\n      memset(DAT_000b9d64,0,local_90 * 0x50);\n      DAT_000b9d68 = local_90;\n      if (param_4 != 0) {\n        FUN_0004e130();\n        if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n        param_5 = 0;\n        goto LAB_0005662b;\n      }\n    }\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) {\nLAB_00057bf6:\n      puVar3 = (&PTR_s__debug_abbrev_000b4840)[param_3 * 0x10];\n      uVar10 = dcgettext(0,"Unable to locate %s section!\n",5);\n      warn(uVar10,puVar3);\n      return 0;\n    }\n    if (DAT_000b9dd4 == 0) {\n      FUN_0004eb80();\n    }\n    if (pcVar15 < pcVar25) {\nLAB_0005662b:\n      local_a4 = 0;\n      local_f4 = pcVar15;\n      do {\n        local_6c = 0;\n        local_68 = 0;\n        local_64 = 0;\n        pcVar18 = local_f4 + 4;\n        local_60 = 0;\n        pcVar17 = pcVar18;\n        if (pcVar18 < pcVar25) {\n          iVar7 = 4;\nLAB_00056d25:\n          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);\n          if (lVar28 == 0xffffffff) {\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }\n          else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;\nLAB_000566e9:\n          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);\n        }\n        else {\n          iVar7 = (int)pcVar25 - (int)local_f4;\n          if (iVar7 - 1U < 8) goto LAB_00056d25;\n          local_cc = 4;\n          pcVar16 = local_f4 + 6;\n          local_d4 = 4;\n          local_f0 = 4;\njoined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }\n          lVar28 = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }\n        local_ec = (int)lVar28;\n        uVar8 = (int)local_f4 - (int)pcVar15;\n        uVar9 = (int)uVar8 >> 0x1f;\n        if (param_5 == 0) {\n          iVar22 = 1;\n          iVar7 = DAT_000b9d34;\n          iVar26 = DAT_000b9d2c;\n        }\n        else {\n          iVar22 = 2;\n          iVar7 = DAT_000b9d30;\n          iVar26 = DAT_000b9d28;\n        }\n        for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;\n          iVar26 = iVar26 + 0x68;\n        }\n        iVar26 = 0;\njoined_r0x0005676e:\n        uVar13 = local_f0;\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar6 = 0xff;\njoined_r0x000567df:\n          pcVar18 = pcVar16 + local_f0;\n          if ((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))\n          goto LAB_00056caa;\nLAB_000567f7:\n          uVar27 = 0;\n          uVar5 = 0;\n          if (iVar26 != 0) goto LAB_0005680f;\nLAB_00056cce:\n          uVar27 = uVar5;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n        }\n        else {\n          pcVar18 = pcVar17 + 3;\n          if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }\n          pcVar16 = pcVar17 + 4;\n          bVar6 = 0;\n          pcVar18 = pcVar16 + local_f0;\n          if (pcVar25 <= pcVar18) goto LAB_000567f7;\nLAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);\n          uVar5 = uVar27;\n          if (iVar26 == 0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);\n          local_98 = *(int *)(iVar26 + 0x24);\n          local_ac = *(uint *)(iVar26 + 0x54);\n        }\n        local_a0 = (uint)((ulonglong)uVar27 >> 0x20);\n        local_b0 = (uint)uVar27;\n        pcVar17 = pcVar18;\n        if (local_e2 < 5) {\n          pcVar17 = pcVar18 + 1;\n          if (pcVar17 < pcVar25) {\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }\n          if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))\n          goto LAB_00056c35;\n          bVar6 = 0;\nLAB_00056853:\n          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;\n          warn(uVar10,bVar6,local_f0);\n          bVar6 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;\n        }\n        if (param_5 != 0) {\n          pcVar18 = pcVar17 + 8;\n          if (pcVar25 < pcVar18) {\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }\n          else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }\n          pcVar17 = pcVar18 + local_f0;\n          uVar13 = local_f0;\n          if ((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }\n        }\n        uVar13 = DAT_000b9dd4;\n        uVar11 = local_d4 + uVar8;\n        lVar4 = lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8;\n        if ((uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4)) {\n          local_f4 = pcVar15 + uVar11 + local_ec;\n        }\n        else {\n          if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);\n          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);\n          if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + local_d4 + local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }\n        }\nLAB_00056ae6:\n        local_a4 = local_a4 + 1;\n      } while (local_f4 < pcVar25);\n      if (param_4 != 0) goto LAB_00057752;\n    }\n    if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0))\n    goto LAB_00056b59;\n  }\n  else {\n    if (param_5 == 0 && DAT_000b9d6c == 0) goto LAB_00056b86;\n    FUN_0004e130();\n    if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n    local_90 = 0;\n    if (pcVar15 < pcVar25) goto LAB_0005662b;\nLAB_00057752:\n    if (param_5 != 0 || DAT_000b9d6c != 0) {\n      return 1;\n    }\n  }\n  DAT_000b9d6c = DAT_000b9d68;\n  if (local_90 <= DAT_000b9d68) {\n    DAT_000b9d6c = local_90;\n  }\n  if (param_4 != 0) {\n    return 1;\n  }\nLAB_00056b59:\n  putchar(10);\n  return 1;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "longlong lVar4;" type_identifier identifier ;) (declaration "undefined8 uVar5;" type_identifier identifier ;) (declaration "byte bVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (declaration "char *pcVar15;" primitive_type (pointer_declarator "*pcVar15" * identifier) ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "char *pcVar17;" primitive_type (pointer_declarator "*pcVar17" * identifier) ;) (declaration "char *pcVar18;" primitive_type (pointer_declarator "*pcVar18" * identifier) ;) (declaration "void *pvVar19;" primitive_type (pointer_declarator "*pvVar19" * identifier) ;) (declaration "undefined4 uVar20;" type_identifier identifier ;) (declaration "bool bVar21;" primitive_type identifier ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "int *piVar24;" primitive_type (pointer_declarator "*piVar24" * identifier) ;) (declaration "char *pcVar25;" primitive_type (pointer_declarator "*pcVar25" * identifier) ;) (declaration "int iVar26;" primitive_type identifier ;) (declaration "undefined8 uVar27;" type_identifier identifier ;) (declaration "longlong lVar28;" type_identifier identifier ;) (declaration "char *local_f4;" primitive_type (pointer_declarator "*local_f4" * identifier) ;) (declaration "uint local_f0;" type_identifier identifier ;) (declaration "int local_ec;" primitive_type identifier ;) (declaration "ushort local_e2;" type_identifier identifier ;) (declaration "int local_d4;" primitive_type identifier ;) (declaration "undefined4 local_cc;" type_identifier identifier ;) (declaration "int local_b4;" primitive_type identifier ;) (declaration "uint local_b0;" type_identifier identifier ;) (declaration "uint local_ac;" type_identifier identifier ;) (declaration "uint local_a4;" type_identifier identifier ;) (declaration "uint local_a0;" type_identifier identifier ;) (declaration "uint local_9c;" type_identifier identifier ;) (declaration "int local_98;" primitive_type identifier ;) (declaration "uint local_90;" type_identifier identifier ;) (declaration "int local_78;" primitive_type identifier ;) (declaration "int local_70;" primitive_type identifier ;) (declaration "undefined4 local_6c;" type_identifier identifier ;) (declaration "undefined4 local_68;" type_identifier identifier ;) (declaration "undefined4 local_64;" type_identifier identifier ;) (declaration "undefined4 local_60;" type_identifier identifier ;) (declaration "int local_5c [18];" primitive_type (array_declarator "local_5c [18]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x5653b;" (assignment_expression "uStack_14 = 0x5653b" identifier = number_literal) ;) (expression_statement "pcVar15 = *(char **)(param_1 + 0x10);" (assignment_expression "pcVar15 = *(char **)(param_1 + 0x10)" identifier = (pointer_expression "*(char **)(param_1 + 0x10)" * (cast_expression "(char **)(param_1 + 0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "pcVar25 = pcVar15 + *(int *)(param_1 + 0x1c);" (assignment_expression "pcVar25 = pcVar15 + *(int *)(param_1 + 0x1c)" identifier = (binary_expression "pcVar15 + *(int *)(param_1 + 0x1c)" 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) )))))) ;) (if_statement "if (param_4 == 0) {\n    if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0)) {\n      local_90 = 0;\n    }\n    else {\nLAB_00056b86:\n      local_90 = 0;\n      pcVar18 = pcVar15;\n      if (pcVar25 <= pcVar15) {\nLAB_00057e2b:\n        uVar10 = *(undefined4 *)(param_1 + 8);\n        uVar14 = dcgettext(0,"No comp units in %s section ?\n",5);\n        error(uVar14,uVar10);\n        return 0;\n      }\n      do {\n        pcVar17 = pcVar18 + 4;\n        if (pcVar25 <= pcVar17) {\n          iVar7 = (int)pcVar25 - (int)pcVar18;\n          if (iVar7 - 1U < 8) goto LAB_000570ed;\nLAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);\n          uVar14 = FUN_0004cb50(0);\n          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);\n          warn(uVar20,uVar14,uVar10);\n          return 0;\n        }\n        iVar7 = 4;\nLAB_000570ed:\n        lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n        if (lVar28 == 0xffffffff) {\n          if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;\n          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);\n          pcVar18 = pcVar18 + iVar7 + 0xc;\n          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;\n        }\n        else {\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }\n        if (bVar21) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      } while (pcVar18 < pcVar25);\n      if (local_90 == 0) goto LAB_00057e2b;\n      if (0x3333332 < local_90) {\n        DAT_000b9d64 = (void *)0x0;\n        uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(uVar10,local_90);\n        DAT_000b9d68 = 0;\n        DAT_000b9d6c = 0;\n        return 0;\n      }\n      DAT_000b9d64 = (void *)FUN_0006b190(local_90 * 0x50);\n      memset(DAT_000b9d64,0,local_90 * 0x50);\n      DAT_000b9d68 = local_90;\n      if (param_4 != 0) {\n        FUN_0004e130();\n        if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n        param_5 = 0;\n        goto LAB_0005662b;\n      }\n    }\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) {\nLAB_00057bf6:\n      puVar3 = (&PTR_s__debug_abbrev_000b4840)[param_3 * 0x10];\n      uVar10 = dcgettext(0,"Unable to locate %s section!\n",5);\n      warn(uVar10,puVar3);\n      return 0;\n    }\n    if (DAT_000b9dd4 == 0) {\n      FUN_0004eb80();\n    }\n    if (pcVar15 < pcVar25) {\nLAB_0005662b:\n      local_a4 = 0;\n      local_f4 = pcVar15;\n      do {\n        local_6c = 0;\n        local_68 = 0;\n        local_64 = 0;\n        pcVar18 = local_f4 + 4;\n        local_60 = 0;\n        pcVar17 = pcVar18;\n        if (pcVar18 < pcVar25) {\n          iVar7 = 4;\nLAB_00056d25:\n          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);\n          if (lVar28 == 0xffffffff) {\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }\n          else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;\nLAB_000566e9:\n          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);\n        }\n        else {\n          iVar7 = (int)pcVar25 - (int)local_f4;\n          if (iVar7 - 1U < 8) goto LAB_00056d25;\n          local_cc = 4;\n          pcVar16 = local_f4 + 6;\n          local_d4 = 4;\n          local_f0 = 4;\njoined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }\n          lVar28 = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }\n        local_ec = (int)lVar28;\n        uVar8 = (int)local_f4 - (int)pcVar15;\n        uVar9 = (int)uVar8 >> 0x1f;\n        if (param_5 == 0) {\n          iVar22 = 1;\n          iVar7 = DAT_000b9d34;\n          iVar26 = DAT_000b9d2c;\n        }\n        else {\n          iVar22 = 2;\n          iVar7 = DAT_000b9d30;\n          iVar26 = DAT_000b9d28;\n        }\n        for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;\n          iVar26 = iVar26 + 0x68;\n        }\n        iVar26 = 0;\njoined_r0x0005676e:\n        uVar13 = local_f0;\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar6 = 0xff;\njoined_r0x000567df:\n          pcVar18 = pcVar16 + local_f0;\n          if ((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))\n          goto LAB_00056caa;\nLAB_000567f7:\n          uVar27 = 0;\n          uVar5 = 0;\n          if (iVar26 != 0) goto LAB_0005680f;\nLAB_00056cce:\n          uVar27 = uVar5;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n        }\n        else {\n          pcVar18 = pcVar17 + 3;\n          if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }\n          pcVar16 = pcVar17 + 4;\n          bVar6 = 0;\n          pcVar18 = pcVar16 + local_f0;\n          if (pcVar25 <= pcVar18) goto LAB_000567f7;\nLAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);\n          uVar5 = uVar27;\n          if (iVar26 == 0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);\n          local_98 = *(int *)(iVar26 + 0x24);\n          local_ac = *(uint *)(iVar26 + 0x54);\n        }\n        local_a0 = (uint)((ulonglong)uVar27 >> 0x20);\n        local_b0 = (uint)uVar27;\n        pcVar17 = pcVar18;\n        if (local_e2 < 5) {\n          pcVar17 = pcVar18 + 1;\n          if (pcVar17 < pcVar25) {\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }\n          if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))\n          goto LAB_00056c35;\n          bVar6 = 0;\nLAB_00056853:\n          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;\n          warn(uVar10,bVar6,local_f0);\n          bVar6 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;\n        }\n        if (param_5 != 0) {\n          pcVar18 = pcVar17 + 8;\n          if (pcVar25 < pcVar18) {\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }\n          else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }\n          pcVar17 = pcVar18 + local_f0;\n          uVar13 = local_f0;\n          if ((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }\n        }\n        uVar13 = DAT_000b9dd4;\n        uVar11 = local_d4 + uVar8;\n        lVar4 = lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8;\n        if ((uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4)) {\n          local_f4 = pcVar15 + uVar11 + local_ec;\n        }\n        else {\n          if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);\n          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);\n          if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + local_d4 + local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }\n        }\nLAB_00056ae6:\n        local_a4 = local_a4 + 1;\n      } while (local_f4 < pcVar25);\n      if (param_4 != 0) goto LAB_00057752;\n    }\n    if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0))\n    goto LAB_00056b59;\n  }\n  else {\n    if (param_5 == 0 && DAT_000b9d6c == 0) goto LAB_00056b86;\n    FUN_0004e130();\n    if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n    local_90 = 0;\n    if (pcVar15 < pcVar25) goto LAB_0005662b;\nLAB_00057752:\n    if (param_5 != 0 || DAT_000b9d6c != 0) {\n      return 1;\n    }\n  }" if (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) (compound_statement "{\n    if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0)) {\n      local_90 = 0;\n    }\n    else {\nLAB_00056b86:\n      local_90 = 0;\n      pcVar18 = pcVar15;\n      if (pcVar25 <= pcVar15) {\nLAB_00057e2b:\n        uVar10 = *(undefined4 *)(param_1 + 8);\n        uVar14 = dcgettext(0,"No comp units in %s section ?\n",5);\n        error(uVar14,uVar10);\n        return 0;\n      }\n      do {\n        pcVar17 = pcVar18 + 4;\n        if (pcVar25 <= pcVar17) {\n          iVar7 = (int)pcVar25 - (int)pcVar18;\n          if (iVar7 - 1U < 8) goto LAB_000570ed;\nLAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);\n          uVar14 = FUN_0004cb50(0);\n          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);\n          warn(uVar20,uVar14,uVar10);\n          return 0;\n        }\n        iVar7 = 4;\nLAB_000570ed:\n        lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n        if (lVar28 == 0xffffffff) {\n          if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;\n          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);\n          pcVar18 = pcVar18 + iVar7 + 0xc;\n          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;\n        }\n        else {\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }\n        if (bVar21) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      } while (pcVar18 < pcVar25);\n      if (local_90 == 0) goto LAB_00057e2b;\n      if (0x3333332 < local_90) {\n        DAT_000b9d64 = (void *)0x0;\n        uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(uVar10,local_90);\n        DAT_000b9d68 = 0;\n        DAT_000b9d6c = 0;\n        return 0;\n      }\n      DAT_000b9d64 = (void *)FUN_0006b190(local_90 * 0x50);\n      memset(DAT_000b9d64,0,local_90 * 0x50);\n      DAT_000b9d68 = local_90;\n      if (param_4 != 0) {\n        FUN_0004e130();\n        if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n        param_5 = 0;\n        goto LAB_0005662b;\n      }\n    }\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) {\nLAB_00057bf6:\n      puVar3 = (&PTR_s__debug_abbrev_000b4840)[param_3 * 0x10];\n      uVar10 = dcgettext(0,"Unable to locate %s section!\n",5);\n      warn(uVar10,puVar3);\n      return 0;\n    }\n    if (DAT_000b9dd4 == 0) {\n      FUN_0004eb80();\n    }\n    if (pcVar15 < pcVar25) {\nLAB_0005662b:\n      local_a4 = 0;\n      local_f4 = pcVar15;\n      do {\n        local_6c = 0;\n        local_68 = 0;\n        local_64 = 0;\n        pcVar18 = local_f4 + 4;\n        local_60 = 0;\n        pcVar17 = pcVar18;\n        if (pcVar18 < pcVar25) {\n          iVar7 = 4;\nLAB_00056d25:\n          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);\n          if (lVar28 == 0xffffffff) {\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }\n          else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;\nLAB_000566e9:\n          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);\n        }\n        else {\n          iVar7 = (int)pcVar25 - (int)local_f4;\n          if (iVar7 - 1U < 8) goto LAB_00056d25;\n          local_cc = 4;\n          pcVar16 = local_f4 + 6;\n          local_d4 = 4;\n          local_f0 = 4;\njoined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }\n          lVar28 = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }\n        local_ec = (int)lVar28;\n        uVar8 = (int)local_f4 - (int)pcVar15;\n        uVar9 = (int)uVar8 >> 0x1f;\n        if (param_5 == 0) {\n          iVar22 = 1;\n          iVar7 = DAT_000b9d34;\n          iVar26 = DAT_000b9d2c;\n        }\n        else {\n          iVar22 = 2;\n          iVar7 = DAT_000b9d30;\n          iVar26 = DAT_000b9d28;\n        }\n        for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;\n          iVar26 = iVar26 + 0x68;\n        }\n        iVar26 = 0;\njoined_r0x0005676e:\n        uVar13 = local_f0;\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar6 = 0xff;\njoined_r0x000567df:\n          pcVar18 = pcVar16 + local_f0;\n          if ((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))\n          goto LAB_00056caa;\nLAB_000567f7:\n          uVar27 = 0;\n          uVar5 = 0;\n          if (iVar26 != 0) goto LAB_0005680f;\nLAB_00056cce:\n          uVar27 = uVar5;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n        }\n        else {\n          pcVar18 = pcVar17 + 3;\n          if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }\n          pcVar16 = pcVar17 + 4;\n          bVar6 = 0;\n          pcVar18 = pcVar16 + local_f0;\n          if (pcVar25 <= pcVar18) goto LAB_000567f7;\nLAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);\n          uVar5 = uVar27;\n          if (iVar26 == 0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);\n          local_98 = *(int *)(iVar26 + 0x24);\n          local_ac = *(uint *)(iVar26 + 0x54);\n        }\n        local_a0 = (uint)((ulonglong)uVar27 >> 0x20);\n        local_b0 = (uint)uVar27;\n        pcVar17 = pcVar18;\n        if (local_e2 < 5) {\n          pcVar17 = pcVar18 + 1;\n          if (pcVar17 < pcVar25) {\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }\n          if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))\n          goto LAB_00056c35;\n          bVar6 = 0;\nLAB_00056853:\n          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;\n          warn(uVar10,bVar6,local_f0);\n          bVar6 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;\n        }\n        if (param_5 != 0) {\n          pcVar18 = pcVar17 + 8;\n          if (pcVar25 < pcVar18) {\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }\n          else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }\n          pcVar17 = pcVar18 + local_f0;\n          uVar13 = local_f0;\n          if ((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }\n        }\n        uVar13 = DAT_000b9dd4;\n        uVar11 = local_d4 + uVar8;\n        lVar4 = lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8;\n        if ((uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4)) {\n          local_f4 = pcVar15 + uVar11 + local_ec;\n        }\n        else {\n          if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);\n          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);\n          if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + local_d4 + local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }\n        }\nLAB_00056ae6:\n        local_a4 = local_a4 + 1;\n      } while (local_f4 < pcVar25);\n      if (param_4 != 0) goto LAB_00057752;\n    }\n    if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0))\n    goto LAB_00056b59;\n  }" { (if_statement "if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0)) {\n      local_90 = 0;\n    }\n    else {\nLAB_00056b86:\n      local_90 = 0;\n      pcVar18 = pcVar15;\n      if (pcVar25 <= pcVar15) {\nLAB_00057e2b:\n        uVar10 = *(undefined4 *)(param_1 + 8);\n        uVar14 = dcgettext(0,"No comp units in %s section ?\n",5);\n        error(uVar14,uVar10);\n        return 0;\n      }\n      do {\n        pcVar17 = pcVar18 + 4;\n        if (pcVar25 <= pcVar17) {\n          iVar7 = (int)pcVar25 - (int)pcVar18;\n          if (iVar7 - 1U < 8) goto LAB_000570ed;\nLAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);\n          uVar14 = FUN_0004cb50(0);\n          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);\n          warn(uVar20,uVar14,uVar10);\n          return 0;\n        }\n        iVar7 = 4;\nLAB_000570ed:\n        lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n        if (lVar28 == 0xffffffff) {\n          if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;\n          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);\n          pcVar18 = pcVar18 + iVar7 + 0xc;\n          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;\n        }\n        else {\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }\n        if (bVar21) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      } while (pcVar18 < pcVar25);\n      if (local_90 == 0) goto LAB_00057e2b;\n      if (0x3333332 < local_90) {\n        DAT_000b9d64 = (void *)0x0;\n        uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(uVar10,local_90);\n        DAT_000b9d68 = 0;\n        DAT_000b9d6c = 0;\n        return 0;\n      }\n      DAT_000b9d64 = (void *)FUN_0006b190(local_90 * 0x50);\n      memset(DAT_000b9d64,0,local_90 * 0x50);\n      DAT_000b9d68 = local_90;\n      if (param_4 != 0) {\n        FUN_0004e130();\n        if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n        param_5 = 0;\n        goto LAB_0005662b;\n      }\n    }" if (parenthesized_expression "((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0))" ( (binary_expression "(DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0)" (parenthesized_expression "(DAT_000b9d90 == 0 && DAT_000b9db4 == 0)" ( (binary_expression "DAT_000b9d90 == 0 && DAT_000b9db4 == 0" (binary_expression "DAT_000b9d90 == 0" identifier == number_literal) && (binary_expression "DAT_000b9db4 == 0" identifier == number_literal)) )) || (parenthesized_expression "(param_5 != 0 || DAT_000b9d6c != 0)" ( (binary_expression "param_5 != 0 || DAT_000b9d6c != 0" (binary_expression "param_5 != 0" identifier != number_literal) || (binary_expression "DAT_000b9d6c != 0" identifier != number_literal)) ))) )) (compound_statement "{\n      local_90 = 0;\n    }" { (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) }) (else_clause "else {\nLAB_00056b86:\n      local_90 = 0;\n      pcVar18 = pcVar15;\n      if (pcVar25 <= pcVar15) {\nLAB_00057e2b:\n        uVar10 = *(undefined4 *)(param_1 + 8);\n        uVar14 = dcgettext(0,"No comp units in %s section ?\n",5);\n        error(uVar14,uVar10);\n        return 0;\n      }\n      do {\n        pcVar17 = pcVar18 + 4;\n        if (pcVar25 <= pcVar17) {\n          iVar7 = (int)pcVar25 - (int)pcVar18;\n          if (iVar7 - 1U < 8) goto LAB_000570ed;\nLAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);\n          uVar14 = FUN_0004cb50(0);\n          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);\n          warn(uVar20,uVar14,uVar10);\n          return 0;\n        }\n        iVar7 = 4;\nLAB_000570ed:\n        lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n        if (lVar28 == 0xffffffff) {\n          if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;\n          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);\n          pcVar18 = pcVar18 + iVar7 + 0xc;\n          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;\n        }\n        else {\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }\n        if (bVar21) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      } while (pcVar18 < pcVar25);\n      if (local_90 == 0) goto LAB_00057e2b;\n      if (0x3333332 < local_90) {\n        DAT_000b9d64 = (void *)0x0;\n        uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(uVar10,local_90);\n        DAT_000b9d68 = 0;\n        DAT_000b9d6c = 0;\n        return 0;\n      }\n      DAT_000b9d64 = (void *)FUN_0006b190(local_90 * 0x50);\n      memset(DAT_000b9d64,0,local_90 * 0x50);\n      DAT_000b9d68 = local_90;\n      if (param_4 != 0) {\n        FUN_0004e130();\n        if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n        param_5 = 0;\n        goto LAB_0005662b;\n      }\n    }" else (compound_statement "{\nLAB_00056b86:\n      local_90 = 0;\n      pcVar18 = pcVar15;\n      if (pcVar25 <= pcVar15) {\nLAB_00057e2b:\n        uVar10 = *(undefined4 *)(param_1 + 8);\n        uVar14 = dcgettext(0,"No comp units in %s section ?\n",5);\n        error(uVar14,uVar10);\n        return 0;\n      }\n      do {\n        pcVar17 = pcVar18 + 4;\n        if (pcVar25 <= pcVar17) {\n          iVar7 = (int)pcVar25 - (int)pcVar18;\n          if (iVar7 - 1U < 8) goto LAB_000570ed;\nLAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);\n          uVar14 = FUN_0004cb50(0);\n          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);\n          warn(uVar20,uVar14,uVar10);\n          return 0;\n        }\n        iVar7 = 4;\nLAB_000570ed:\n        lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n        if (lVar28 == 0xffffffff) {\n          if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;\n          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);\n          pcVar18 = pcVar18 + iVar7 + 0xc;\n          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;\n        }\n        else {\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }\n        if (bVar21) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      } while (pcVar18 < pcVar25);\n      if (local_90 == 0) goto LAB_00057e2b;\n      if (0x3333332 < local_90) {\n        DAT_000b9d64 = (void *)0x0;\n        uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(uVar10,local_90);\n        DAT_000b9d68 = 0;\n        DAT_000b9d6c = 0;\n        return 0;\n      }\n      DAT_000b9d64 = (void *)FUN_0006b190(local_90 * 0x50);\n      memset(DAT_000b9d64,0,local_90 * 0x50);\n      DAT_000b9d68 = local_90;\n      if (param_4 != 0) {\n        FUN_0004e130();\n        if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n        param_5 = 0;\n        goto LAB_0005662b;\n      }\n    }" { (labeled_statement "LAB_00056b86:\n      local_90 = 0;" statement_identifier : (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;)) (expression_statement "pcVar18 = pcVar15;" (assignment_expression "pcVar18 = pcVar15" identifier = identifier) ;) (if_statement "if (pcVar25 <= pcVar15) {\nLAB_00057e2b:\n        uVar10 = *(undefined4 *)(param_1 + 8);\n        uVar14 = dcgettext(0,"No comp units in %s section ?\n",5);\n        error(uVar14,uVar10);\n        return 0;\n      }" if (parenthesized_expression "(pcVar25 <= pcVar15)" ( (binary_expression "pcVar25 <= pcVar15" identifier <= identifier) )) (compound_statement "{\nLAB_00057e2b:\n        uVar10 = *(undefined4 *)(param_1 + 8);\n        uVar14 = dcgettext(0,"No comp units in %s section ?\n",5);\n        error(uVar14,uVar10);\n        return 0;\n      }" { (labeled_statement "LAB_00057e2b:\n        uVar10 = *(undefined4 *)(param_1 + 8);" statement_identifier : (expression_statement "uVar10 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar10 = *(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 "uVar14 = dcgettext(0,"No comp units in %s section ?\n",5);" (assignment_expression "uVar14 = dcgettext(0,"No comp units in %s section ?\n",5)" identifier = (call_expression "dcgettext(0,"No comp units in %s section ?\n",5)" identifier (argument_list "(0,"No comp units in %s section ?\n",5)" ( number_literal , (string_literal ""No comp units in %s section ?\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "error(uVar14,uVar10);" (call_expression "error(uVar14,uVar10)" identifier (argument_list "(uVar14,uVar10)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (do_statement "do {\n        pcVar17 = pcVar18 + 4;\n        if (pcVar25 <= pcVar17) {\n          iVar7 = (int)pcVar25 - (int)pcVar18;\n          if (iVar7 - 1U < 8) goto LAB_000570ed;\nLAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);\n          uVar14 = FUN_0004cb50(0);\n          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);\n          warn(uVar20,uVar14,uVar10);\n          return 0;\n        }\n        iVar7 = 4;\nLAB_000570ed:\n        lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n        if (lVar28 == 0xffffffff) {\n          if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;\n          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);\n          pcVar18 = pcVar18 + iVar7 + 0xc;\n          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;\n        }\n        else {\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }\n        if (bVar21) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      } while (pcVar18 < pcVar25);" do (compound_statement "{\n        pcVar17 = pcVar18 + 4;\n        if (pcVar25 <= pcVar17) {\n          iVar7 = (int)pcVar25 - (int)pcVar18;\n          if (iVar7 - 1U < 8) goto LAB_000570ed;\nLAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);\n          uVar14 = FUN_0004cb50(0);\n          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);\n          warn(uVar20,uVar14,uVar10);\n          return 0;\n        }\n        iVar7 = 4;\nLAB_000570ed:\n        lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n        if (lVar28 == 0xffffffff) {\n          if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;\n          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);\n          pcVar18 = pcVar18 + iVar7 + 0xc;\n          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;\n        }\n        else {\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }\n        if (bVar21) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      }" { (expression_statement "pcVar17 = pcVar18 + 4;" (assignment_expression "pcVar17 = pcVar18 + 4" identifier = (binary_expression "pcVar18 + 4" identifier + number_literal)) ;) (if_statement "if (pcVar25 <= pcVar17) {\n          iVar7 = (int)pcVar25 - (int)pcVar18;\n          if (iVar7 - 1U < 8) goto LAB_000570ed;\nLAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);\n          uVar14 = FUN_0004cb50(0);\n          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);\n          warn(uVar20,uVar14,uVar10);\n          return 0;\n        }" if (parenthesized_expression "(pcVar25 <= pcVar17)" ( (binary_expression "pcVar25 <= pcVar17" identifier <= identifier) )) (compound_statement "{\n          iVar7 = (int)pcVar25 - (int)pcVar18;\n          if (iVar7 - 1U < 8) goto LAB_000570ed;\nLAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);\n          uVar14 = FUN_0004cb50(0);\n          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);\n          warn(uVar20,uVar14,uVar10);\n          return 0;\n        }" { (expression_statement "iVar7 = (int)pcVar25 - (int)pcVar18;" (assignment_expression "iVar7 = (int)pcVar25 - (int)pcVar18" identifier = (binary_expression "(int)pcVar25 - (int)pcVar18" (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar18" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (iVar7 - 1U < 8) goto LAB_000570ed;" if (parenthesized_expression "(iVar7 - 1U < 8)" ( (binary_expression "iVar7 - 1U < 8" (binary_expression "iVar7 - 1U" identifier - number_literal) < number_literal) )) (goto_statement "goto LAB_000570ed;" goto statement_identifier ;)) (labeled_statement "LAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);" statement_identifier : (expression_statement "uVar10 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar10 = *(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 "uVar14 = FUN_0004cb50(0);" (assignment_expression "uVar14 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";" (assignment_expression "pcVar15 = "Corrupt unit length (0x%s) found in section %s\n"" identifier = (string_literal ""Corrupt unit length (0x%s) found in section %s\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);" statement_identifier : (expression_statement "uVar20 = dcgettext(0,pcVar15,5);" (assignment_expression "uVar20 = dcgettext(0,pcVar15,5)" identifier = (call_expression "dcgettext(0,pcVar15,5)" identifier (argument_list "(0,pcVar15,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "warn(uVar20,uVar14,uVar10);" (call_expression "warn(uVar20,uVar14,uVar10)" identifier (argument_list "(uVar20,uVar14,uVar10)" ( identifier , identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar7 = 4;" (assignment_expression "iVar7 = 4" identifier = number_literal) ;) (labeled_statement "LAB_000570ed:\n        lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);" statement_identifier : (expression_statement "lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);" (assignment_expression "lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7)" identifier = (call_expression "(*DAT_000b9dd8)(pcVar18,iVar7)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(pcVar18,iVar7)" ( identifier , identifier )))) ;)) (if_statement "if (lVar28 == 0xffffffff) {\n          if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;\n          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);\n          pcVar18 = pcVar18 + iVar7 + 0xc;\n          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;\n        }\n        else {\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }" if (parenthesized_expression "(lVar28 == 0xffffffff)" ( (binary_expression "lVar28 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n          if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;\n          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);\n          pcVar18 = pcVar18 + iVar7 + 0xc;\n          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;\n        }" { (if_statement "if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;" if (parenthesized_expression "(pcVar18 + 0xc < pcVar25)" ( (binary_expression "pcVar18 + 0xc < pcVar25" (binary_expression "pcVar18 + 0xc" identifier + number_literal) < identifier) )) (compound_statement "{\n            iVar7 = 8;\n          }" { (expression_statement "iVar7 = 8;" (assignment_expression "iVar7 = 8" identifier = number_literal) ;) }) (else_clause "else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;" else (if_statement "if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;" if (parenthesized_expression "((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))" ( (binary_expression "(pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U)" (parenthesized_expression "(pcVar25 <= pcVar17)" ( (binary_expression "pcVar25 <= pcVar17" identifier <= identifier) )) || (parenthesized_expression "(iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U)" ( (comma_expression "iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U" (assignment_expression "iVar7 = (int)pcVar25 - (int)pcVar17" identifier = (binary_expression "(int)pcVar25 - (int)pcVar17" (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar17" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "7 < iVar7 - 1U" number_literal < (binary_expression "iVar7 - 1U" identifier - number_literal))) ))) )) (goto_statement "goto LAB_00056bdf;" goto statement_identifier ;)))) (expression_statement "iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);" (assignment_expression "iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7)" identifier = (call_expression "(*DAT_000b9dd8)(pcVar17,iVar7)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(pcVar17,iVar7)" ( identifier , identifier )))) ;) (expression_statement "pcVar18 = pcVar18 + iVar7 + 0xc;" (assignment_expression "pcVar18 = pcVar18 + iVar7 + 0xc" identifier = (binary_expression "pcVar18 + iVar7 + 0xc" (binary_expression "pcVar18 + iVar7" identifier + identifier) + number_literal)) ;) (expression_statement "bVar21 = pcVar18 < pcVar15 || iVar7 < 1;" (assignment_expression "bVar21 = pcVar18 < pcVar15 || iVar7 < 1" identifier = (binary_expression "pcVar18 < pcVar15 || iVar7 < 1" (binary_expression "pcVar18 < pcVar15" identifier < identifier) || (binary_expression "iVar7 < 1" identifier < number_literal))) ;) }) (else_clause "else {\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }" else (compound_statement "{\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }" { (expression_statement "iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);" (assignment_expression "iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20)" identifier = (cast_expression "(int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(lVar28 + -0xfffffff0) >> 0x20)" ( (binary_expression "(ulonglong)(lVar28 + -0xfffffff0) >> 0x20" (call_expression "(ulonglong)(lVar28 + -0xfffffff0)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(lVar28 + -0xfffffff0)" ( (binary_expression "lVar28 + -0xfffffff0" identifier + number_literal) ))) >> number_literal) )))) ;) (if_statement "if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }" if (parenthesized_expression "(iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7)" ( (binary_expression "iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7" (binary_expression "iVar7 == 0" identifier == number_literal) && (binary_expression "(uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7" (call_expression "(uint)(0xe < (uint)(lVar28 + -0xfffffff0))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xe < (uint)(lVar28 + -0xfffffff0))" ( (binary_expression "0xe < (uint)(lVar28 + -0xfffffff0)" number_literal < (call_expression "(uint)(lVar28 + -0xfffffff0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(lVar28 + -0xfffffff0)" ( (binary_expression "lVar28 + -0xfffffff0" identifier + number_literal) )))) ))) <= (binary_expression "(uint)-iVar7" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) (compound_statement "{\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }" { (expression_statement "uVar10 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar10 = *(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 "uVar14 = FUN_0004cb50(0);" (assignment_expression "uVar14 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "pcVar15 = "Reserved length value (0x%s) found in section %s\n";" (assignment_expression "pcVar15 = "Reserved length value (0x%s) found in section %s\n"" identifier = (string_literal ""Reserved length value (0x%s) found in section %s\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00056c0d;" goto statement_identifier ;) })) (expression_statement "pcVar18 = pcVar18 + (int)lVar28 + 4;" (assignment_expression "pcVar18 = pcVar18 + (int)lVar28 + 4" identifier = (binary_expression "pcVar18 + (int)lVar28 + 4" (binary_expression "pcVar18 + (int)lVar28" identifier + (cast_expression "(int)lVar28" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal)) ;) (expression_statement "bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;" (assignment_expression "bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15" identifier = (binary_expression "(int)lVar28 < 1 || pcVar18 < pcVar15" (binary_expression "(int)lVar28 < 1" (cast_expression "(int)lVar28" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) || (binary_expression "pcVar18 < pcVar15" identifier < identifier))) ;) }))) (if_statement "if (bVar21) goto LAB_00056bdf;" if (parenthesized_expression "(bVar21)" ( identifier )) (goto_statement "goto LAB_00056bdf;" goto statement_identifier ;)) (expression_statement "local_90 = local_90 + 1;" (assignment_expression "local_90 = local_90 + 1" identifier = (binary_expression "local_90 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pcVar18 < pcVar25)" ( (binary_expression "pcVar18 < pcVar25" identifier < identifier) )) ;) (if_statement "if (local_90 == 0) goto LAB_00057e2b;" if (parenthesized_expression "(local_90 == 0)" ( (binary_expression "local_90 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00057e2b;" goto statement_identifier ;)) (if_statement "if (0x3333332 < local_90) {\n        DAT_000b9d64 = (void *)0x0;\n        uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(uVar10,local_90);\n        DAT_000b9d68 = 0;\n        DAT_000b9d6c = 0;\n        return 0;\n      }" if (parenthesized_expression "(0x3333332 < local_90)" ( (binary_expression "0x3333332 < local_90" number_literal < identifier) )) (compound_statement "{\n        DAT_000b9d64 = (void *)0x0;\n        uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(uVar10,local_90);\n        DAT_000b9d68 = 0;\n        DAT_000b9d6c = 0;\n        return 0;\n      }" { (expression_statement "DAT_000b9d64 = (void *)0x0;" (assignment_expression "DAT_000b9d64 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);" (assignment_expression "uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5)" identifier = (call_expression "dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5)" identifier (argument_list "(0,"Not enough memory for a debug info array of %u entries\n",5)" ( number_literal , (string_literal ""Not enough memory for a debug info array of %u entries\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "error(uVar10,local_90);" (call_expression "error(uVar10,local_90)" identifier (argument_list "(uVar10,local_90)" ( identifier , identifier ))) ;) (expression_statement "DAT_000b9d68 = 0;" (assignment_expression "DAT_000b9d68 = 0" identifier = number_literal) ;) (expression_statement "DAT_000b9d6c = 0;" (assignment_expression "DAT_000b9d6c = 0" identifier = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "DAT_000b9d64 = (void *)FUN_0006b190(local_90 * 0x50);" (assignment_expression "DAT_000b9d64 = (void *)FUN_0006b190(local_90 * 0x50)" identifier = (cast_expression "(void *)FUN_0006b190(local_90 * 0x50)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0006b190(local_90 * 0x50)" identifier (argument_list "(local_90 * 0x50)" ( (binary_expression "local_90 * 0x50" identifier * number_literal) ))))) ;) (expression_statement "memset(DAT_000b9d64,0,local_90 * 0x50);" (call_expression "memset(DAT_000b9d64,0,local_90 * 0x50)" identifier (argument_list "(DAT_000b9d64,0,local_90 * 0x50)" ( identifier , number_literal , (binary_expression "local_90 * 0x50" identifier * number_literal) ))) ;) (expression_statement "DAT_000b9d68 = local_90;" (assignment_expression "DAT_000b9d68 = local_90" identifier = identifier) ;) (if_statement "if (param_4 != 0) {\n        FUN_0004e130();\n        if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n        param_5 = 0;\n        goto LAB_0005662b;\n      }" if (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) )) (compound_statement "{\n        FUN_0004e130();\n        if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n        param_5 = 0;\n        goto LAB_0005662b;\n      }" { (expression_statement "FUN_0004e130();" (call_expression "FUN_0004e130()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;" if (parenthesized_expression "(*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0)" ( (binary_expression "*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0" (pointer_expression "*(int *)(&DAT_000b4850 + param_3 * 0x40)" * (cast_expression "(int *)(&DAT_000b4850 + param_3 * 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_000b4850 + param_3 * 0x40)" ( (binary_expression "&DAT_000b4850 + param_3 * 0x40" (pointer_expression "&DAT_000b4850" & identifier) + (binary_expression "param_3 * 0x40" identifier * number_literal)) )))) == number_literal) )) (goto_statement "goto LAB_00057bf6;" goto statement_identifier ;)) (expression_statement "param_5 = 0;" (assignment_expression "param_5 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0005662b;" goto statement_identifier ;) })) }))) (expression_statement "FUN_0004e130();" (call_expression "FUN_0004e130()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0004e130();" (call_expression "FUN_0004e130()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0004e130();" (call_expression "FUN_0004e130()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0004e130();" (call_expression "FUN_0004e130()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0004e130();" (call_expression "FUN_0004e130()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0004e130();" (call_expression "FUN_0004e130()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0004e130();" (call_expression "FUN_0004e130()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) {\nLAB_00057bf6:\n      puVar3 = (&PTR_s__debug_abbrev_000b4840)[param_3 * 0x10];\n      uVar10 = dcgettext(0,"Unable to locate %s section!\n",5);\n      warn(uVar10,puVar3);\n      return 0;\n    }" if (parenthesized_expression "(*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0)" ( (binary_expression "*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0" (pointer_expression "*(int *)(&DAT_000b4850 + param_3 * 0x40)" * (cast_expression "(int *)(&DAT_000b4850 + param_3 * 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_000b4850 + param_3 * 0x40)" ( (binary_expression "&DAT_000b4850 + param_3 * 0x40" (pointer_expression "&DAT_000b4850" & identifier) + (binary_expression "param_3 * 0x40" identifier * number_literal)) )))) == number_literal) )) (compound_statement "{\nLAB_00057bf6:\n      puVar3 = (&PTR_s__debug_abbrev_000b4840)[param_3 * 0x10];\n      uVar10 = dcgettext(0,"Unable to locate %s section!\n",5);\n      warn(uVar10,puVar3);\n      return 0;\n    }" { (labeled_statement "LAB_00057bf6:\n      puVar3 = (&PTR_s__debug_abbrev_000b4840)[param_3 * 0x10];" statement_identifier : (expression_statement "puVar3 = (&PTR_s__debug_abbrev_000b4840)[param_3 * 0x10];" (assignment_expression "puVar3 = (&PTR_s__debug_abbrev_000b4840)[param_3 * 0x10]" identifier = (subscript_expression "(&PTR_s__debug_abbrev_000b4840)[param_3 * 0x10]" (parenthesized_expression "(&PTR_s__debug_abbrev_000b4840)" ( (pointer_expression "&PTR_s__debug_abbrev_000b4840" & identifier) )) [ (binary_expression "param_3 * 0x10" identifier * number_literal) ])) ;)) (expression_statement "uVar10 = dcgettext(0,"Unable to locate %s section!\n",5);" (assignment_expression "uVar10 = dcgettext(0,"Unable to locate %s section!\n",5)" identifier = (call_expression "dcgettext(0,"Unable to locate %s section!\n",5)" identifier (argument_list "(0,"Unable to locate %s section!\n",5)" ( number_literal , (string_literal ""Unable to locate %s section!\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar10,puVar3);" (call_expression "warn(uVar10,puVar3)" identifier (argument_list "(uVar10,puVar3)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (DAT_000b9dd4 == 0) {\n      FUN_0004eb80();\n    }" if (parenthesized_expression "(DAT_000b9dd4 == 0)" ( (binary_expression "DAT_000b9dd4 == 0" identifier == number_literal) )) (compound_statement "{\n      FUN_0004eb80();\n    }" { (expression_statement "FUN_0004eb80();" (call_expression "FUN_0004eb80()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (pcVar15 < pcVar25) {\nLAB_0005662b:\n      local_a4 = 0;\n      local_f4 = pcVar15;\n      do {\n        local_6c = 0;\n        local_68 = 0;\n        local_64 = 0;\n        pcVar18 = local_f4 + 4;\n        local_60 = 0;\n        pcVar17 = pcVar18;\n        if (pcVar18 < pcVar25) {\n          iVar7 = 4;\nLAB_00056d25:\n          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);\n          if (lVar28 == 0xffffffff) {\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }\n          else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;\nLAB_000566e9:\n          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);\n        }\n        else {\n          iVar7 = (int)pcVar25 - (int)local_f4;\n          if (iVar7 - 1U < 8) goto LAB_00056d25;\n          local_cc = 4;\n          pcVar16 = local_f4 + 6;\n          local_d4 = 4;\n          local_f0 = 4;\njoined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }\n          lVar28 = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }\n        local_ec = (int)lVar28;\n        uVar8 = (int)local_f4 - (int)pcVar15;\n        uVar9 = (int)uVar8 >> 0x1f;\n        if (param_5 == 0) {\n          iVar22 = 1;\n          iVar7 = DAT_000b9d34;\n          iVar26 = DAT_000b9d2c;\n        }\n        else {\n          iVar22 = 2;\n          iVar7 = DAT_000b9d30;\n          iVar26 = DAT_000b9d28;\n        }\n        for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;\n          iVar26 = iVar26 + 0x68;\n        }\n        iVar26 = 0;\njoined_r0x0005676e:\n        uVar13 = local_f0;\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar6 = 0xff;\njoined_r0x000567df:\n          pcVar18 = pcVar16 + local_f0;\n          if ((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))\n          goto LAB_00056caa;\nLAB_000567f7:\n          uVar27 = 0;\n          uVar5 = 0;\n          if (iVar26 != 0) goto LAB_0005680f;\nLAB_00056cce:\n          uVar27 = uVar5;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n        }\n        else {\n          pcVar18 = pcVar17 + 3;\n          if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }\n          pcVar16 = pcVar17 + 4;\n          bVar6 = 0;\n          pcVar18 = pcVar16 + local_f0;\n          if (pcVar25 <= pcVar18) goto LAB_000567f7;\nLAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);\n          uVar5 = uVar27;\n          if (iVar26 == 0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);\n          local_98 = *(int *)(iVar26 + 0x24);\n          local_ac = *(uint *)(iVar26 + 0x54);\n        }\n        local_a0 = (uint)((ulonglong)uVar27 >> 0x20);\n        local_b0 = (uint)uVar27;\n        pcVar17 = pcVar18;\n        if (local_e2 < 5) {\n          pcVar17 = pcVar18 + 1;\n          if (pcVar17 < pcVar25) {\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }\n          if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))\n          goto LAB_00056c35;\n          bVar6 = 0;\nLAB_00056853:\n          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;\n          warn(uVar10,bVar6,local_f0);\n          bVar6 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;\n        }\n        if (param_5 != 0) {\n          pcVar18 = pcVar17 + 8;\n          if (pcVar25 < pcVar18) {\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }\n          else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }\n          pcVar17 = pcVar18 + local_f0;\n          uVar13 = local_f0;\n          if ((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }\n        }\n        uVar13 = DAT_000b9dd4;\n        uVar11 = local_d4 + uVar8;\n        lVar4 = lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8;\n        if ((uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4)) {\n          local_f4 = pcVar15 + uVar11 + local_ec;\n        }\n        else {\n          if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);\n          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);\n          if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + local_d4 + local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }\n        }\nLAB_00056ae6:\n        local_a4 = local_a4 + 1;\n      } while (local_f4 < pcVar25);\n      if (param_4 != 0) goto LAB_00057752;\n    }" if (parenthesized_expression "(pcVar15 < pcVar25)" ( (binary_expression "pcVar15 < pcVar25" identifier < identifier) )) (compound_statement "{\nLAB_0005662b:\n      local_a4 = 0;\n      local_f4 = pcVar15;\n      do {\n        local_6c = 0;\n        local_68 = 0;\n        local_64 = 0;\n        pcVar18 = local_f4 + 4;\n        local_60 = 0;\n        pcVar17 = pcVar18;\n        if (pcVar18 < pcVar25) {\n          iVar7 = 4;\nLAB_00056d25:\n          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);\n          if (lVar28 == 0xffffffff) {\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }\n          else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;\nLAB_000566e9:\n          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);\n        }\n        else {\n          iVar7 = (int)pcVar25 - (int)local_f4;\n          if (iVar7 - 1U < 8) goto LAB_00056d25;\n          local_cc = 4;\n          pcVar16 = local_f4 + 6;\n          local_d4 = 4;\n          local_f0 = 4;\njoined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }\n          lVar28 = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }\n        local_ec = (int)lVar28;\n        uVar8 = (int)local_f4 - (int)pcVar15;\n        uVar9 = (int)uVar8 >> 0x1f;\n        if (param_5 == 0) {\n          iVar22 = 1;\n          iVar7 = DAT_000b9d34;\n          iVar26 = DAT_000b9d2c;\n        }\n        else {\n          iVar22 = 2;\n          iVar7 = DAT_000b9d30;\n          iVar26 = DAT_000b9d28;\n        }\n        for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;\n          iVar26 = iVar26 + 0x68;\n        }\n        iVar26 = 0;\njoined_r0x0005676e:\n        uVar13 = local_f0;\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar6 = 0xff;\njoined_r0x000567df:\n          pcVar18 = pcVar16 + local_f0;\n          if ((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))\n          goto LAB_00056caa;\nLAB_000567f7:\n          uVar27 = 0;\n          uVar5 = 0;\n          if (iVar26 != 0) goto LAB_0005680f;\nLAB_00056cce:\n          uVar27 = uVar5;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n        }\n        else {\n          pcVar18 = pcVar17 + 3;\n          if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }\n          pcVar16 = pcVar17 + 4;\n          bVar6 = 0;\n          pcVar18 = pcVar16 + local_f0;\n          if (pcVar25 <= pcVar18) goto LAB_000567f7;\nLAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);\n          uVar5 = uVar27;\n          if (iVar26 == 0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);\n          local_98 = *(int *)(iVar26 + 0x24);\n          local_ac = *(uint *)(iVar26 + 0x54);\n        }\n        local_a0 = (uint)((ulonglong)uVar27 >> 0x20);\n        local_b0 = (uint)uVar27;\n        pcVar17 = pcVar18;\n        if (local_e2 < 5) {\n          pcVar17 = pcVar18 + 1;\n          if (pcVar17 < pcVar25) {\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }\n          if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))\n          goto LAB_00056c35;\n          bVar6 = 0;\nLAB_00056853:\n          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;\n          warn(uVar10,bVar6,local_f0);\n          bVar6 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;\n        }\n        if (param_5 != 0) {\n          pcVar18 = pcVar17 + 8;\n          if (pcVar25 < pcVar18) {\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }\n          else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }\n          pcVar17 = pcVar18 + local_f0;\n          uVar13 = local_f0;\n          if ((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }\n        }\n        uVar13 = DAT_000b9dd4;\n        uVar11 = local_d4 + uVar8;\n        lVar4 = lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8;\n        if ((uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4)) {\n          local_f4 = pcVar15 + uVar11 + local_ec;\n        }\n        else {\n          if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);\n          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);\n          if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + local_d4 + local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }\n        }\nLAB_00056ae6:\n        local_a4 = local_a4 + 1;\n      } while (local_f4 < pcVar25);\n      if (param_4 != 0) goto LAB_00057752;\n    }" { (labeled_statement "LAB_0005662b:\n      local_a4 = 0;" statement_identifier : (expression_statement "local_a4 = 0;" (assignment_expression "local_a4 = 0" identifier = number_literal) ;)) (expression_statement "local_f4 = pcVar15;" (assignment_expression "local_f4 = pcVar15" identifier = identifier) ;) (do_statement "do {\n        local_6c = 0;\n        local_68 = 0;\n        local_64 = 0;\n        pcVar18 = local_f4 + 4;\n        local_60 = 0;\n        pcVar17 = pcVar18;\n        if (pcVar18 < pcVar25) {\n          iVar7 = 4;\nLAB_00056d25:\n          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);\n          if (lVar28 == 0xffffffff) {\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }\n          else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;\nLAB_000566e9:\n          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);\n        }\n        else {\n          iVar7 = (int)pcVar25 - (int)local_f4;\n          if (iVar7 - 1U < 8) goto LAB_00056d25;\n          local_cc = 4;\n          pcVar16 = local_f4 + 6;\n          local_d4 = 4;\n          local_f0 = 4;\njoined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }\n          lVar28 = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }\n        local_ec = (int)lVar28;\n        uVar8 = (int)local_f4 - (int)pcVar15;\n        uVar9 = (int)uVar8 >> 0x1f;\n        if (param_5 == 0) {\n          iVar22 = 1;\n          iVar7 = DAT_000b9d34;\n          iVar26 = DAT_000b9d2c;\n        }\n        else {\n          iVar22 = 2;\n          iVar7 = DAT_000b9d30;\n          iVar26 = DAT_000b9d28;\n        }\n        for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;\n          iVar26 = iVar26 + 0x68;\n        }\n        iVar26 = 0;\njoined_r0x0005676e:\n        uVar13 = local_f0;\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar6 = 0xff;\njoined_r0x000567df:\n          pcVar18 = pcVar16 + local_f0;\n          if ((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))\n          goto LAB_00056caa;\nLAB_000567f7:\n          uVar27 = 0;\n          uVar5 = 0;\n          if (iVar26 != 0) goto LAB_0005680f;\nLAB_00056cce:\n          uVar27 = uVar5;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n        }\n        else {\n          pcVar18 = pcVar17 + 3;\n          if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }\n          pcVar16 = pcVar17 + 4;\n          bVar6 = 0;\n          pcVar18 = pcVar16 + local_f0;\n          if (pcVar25 <= pcVar18) goto LAB_000567f7;\nLAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);\n          uVar5 = uVar27;\n          if (iVar26 == 0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);\n          local_98 = *(int *)(iVar26 + 0x24);\n          local_ac = *(uint *)(iVar26 + 0x54);\n        }\n        local_a0 = (uint)((ulonglong)uVar27 >> 0x20);\n        local_b0 = (uint)uVar27;\n        pcVar17 = pcVar18;\n        if (local_e2 < 5) {\n          pcVar17 = pcVar18 + 1;\n          if (pcVar17 < pcVar25) {\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }\n          if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))\n          goto LAB_00056c35;\n          bVar6 = 0;\nLAB_00056853:\n          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;\n          warn(uVar10,bVar6,local_f0);\n          bVar6 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;\n        }\n        if (param_5 != 0) {\n          pcVar18 = pcVar17 + 8;\n          if (pcVar25 < pcVar18) {\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }\n          else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }\n          pcVar17 = pcVar18 + local_f0;\n          uVar13 = local_f0;\n          if ((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }\n        }\n        uVar13 = DAT_000b9dd4;\n        uVar11 = local_d4 + uVar8;\n        lVar4 = lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8;\n        if ((uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4)) {\n          local_f4 = pcVar15 + uVar11 + local_ec;\n        }\n        else {\n          if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);\n          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);\n          if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + local_d4 + local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }\n        }\nLAB_00056ae6:\n        local_a4 = local_a4 + 1;\n      } while (local_f4 < pcVar25);" do (compound_statement "{\n        local_6c = 0;\n        local_68 = 0;\n        local_64 = 0;\n        pcVar18 = local_f4 + 4;\n        local_60 = 0;\n        pcVar17 = pcVar18;\n        if (pcVar18 < pcVar25) {\n          iVar7 = 4;\nLAB_00056d25:\n          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);\n          if (lVar28 == 0xffffffff) {\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }\n          else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;\nLAB_000566e9:\n          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);\n        }\n        else {\n          iVar7 = (int)pcVar25 - (int)local_f4;\n          if (iVar7 - 1U < 8) goto LAB_00056d25;\n          local_cc = 4;\n          pcVar16 = local_f4 + 6;\n          local_d4 = 4;\n          local_f0 = 4;\njoined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }\n          lVar28 = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }\n        local_ec = (int)lVar28;\n        uVar8 = (int)local_f4 - (int)pcVar15;\n        uVar9 = (int)uVar8 >> 0x1f;\n        if (param_5 == 0) {\n          iVar22 = 1;\n          iVar7 = DAT_000b9d34;\n          iVar26 = DAT_000b9d2c;\n        }\n        else {\n          iVar22 = 2;\n          iVar7 = DAT_000b9d30;\n          iVar26 = DAT_000b9d28;\n        }\n        for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;\n          iVar26 = iVar26 + 0x68;\n        }\n        iVar26 = 0;\njoined_r0x0005676e:\n        uVar13 = local_f0;\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar6 = 0xff;\njoined_r0x000567df:\n          pcVar18 = pcVar16 + local_f0;\n          if ((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))\n          goto LAB_00056caa;\nLAB_000567f7:\n          uVar27 = 0;\n          uVar5 = 0;\n          if (iVar26 != 0) goto LAB_0005680f;\nLAB_00056cce:\n          uVar27 = uVar5;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n        }\n        else {\n          pcVar18 = pcVar17 + 3;\n          if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }\n          pcVar16 = pcVar17 + 4;\n          bVar6 = 0;\n          pcVar18 = pcVar16 + local_f0;\n          if (pcVar25 <= pcVar18) goto LAB_000567f7;\nLAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);\n          uVar5 = uVar27;\n          if (iVar26 == 0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);\n          local_98 = *(int *)(iVar26 + 0x24);\n          local_ac = *(uint *)(iVar26 + 0x54);\n        }\n        local_a0 = (uint)((ulonglong)uVar27 >> 0x20);\n        local_b0 = (uint)uVar27;\n        pcVar17 = pcVar18;\n        if (local_e2 < 5) {\n          pcVar17 = pcVar18 + 1;\n          if (pcVar17 < pcVar25) {\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }\n          if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))\n          goto LAB_00056c35;\n          bVar6 = 0;\nLAB_00056853:\n          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;\n          warn(uVar10,bVar6,local_f0);\n          bVar6 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;\n        }\n        if (param_5 != 0) {\n          pcVar18 = pcVar17 + 8;\n          if (pcVar25 < pcVar18) {\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }\n          else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }\n          pcVar17 = pcVar18 + local_f0;\n          uVar13 = local_f0;\n          if ((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }\n        }\n        uVar13 = DAT_000b9dd4;\n        uVar11 = local_d4 + uVar8;\n        lVar4 = lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8;\n        if ((uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4)) {\n          local_f4 = pcVar15 + uVar11 + local_ec;\n        }\n        else {\n          if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);\n          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);\n          if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + local_d4 + local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }\n        }\nLAB_00056ae6:\n        local_a4 = local_a4 + 1;\n      }" { (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) (expression_statement "pcVar18 = local_f4 + 4;" (assignment_expression "pcVar18 = local_f4 + 4" identifier = (binary_expression "local_f4 + 4" identifier + number_literal)) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "pcVar17 = pcVar18;" (assignment_expression "pcVar17 = pcVar18" identifier = identifier) ;) (if_statement "if (pcVar18 < pcVar25) {\n          iVar7 = 4;\nLAB_00056d25:\n          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);\n          if (lVar28 == 0xffffffff) {\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }\n          else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;\nLAB_000566e9:\n          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);\n        }\n        else {\n          iVar7 = (int)pcVar25 - (int)local_f4;\n          if (iVar7 - 1U < 8) goto LAB_00056d25;\n          local_cc = 4;\n          pcVar16 = local_f4 + 6;\n          local_d4 = 4;\n          local_f0 = 4;\njoined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }\n          lVar28 = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }" if (parenthesized_expression "(pcVar18 < pcVar25)" ( (binary_expression "pcVar18 < pcVar25" identifier < identifier) )) (compound_statement "{\n          iVar7 = 4;\nLAB_00056d25:\n          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);\n          if (lVar28 == 0xffffffff) {\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }\n          else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;\nLAB_000566e9:\n          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);\n        }" { (expression_statement "iVar7 = 4;" (assignment_expression "iVar7 = 4" identifier = number_literal) ;) (labeled_statement "LAB_00056d25:\n          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);" statement_identifier : (expression_statement "lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);" (assignment_expression "lVar28 = (*DAT_000b9dd8)(local_f4,iVar7)" identifier = (call_expression "(*DAT_000b9dd8)(local_f4,iVar7)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(local_f4,iVar7)" ( identifier , identifier )))) ;)) (if_statement "if (lVar28 == 0xffffffff) {\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }\n          else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }" if (parenthesized_expression "(lVar28 == 0xffffffff)" ( (binary_expression "lVar28 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }" { (expression_statement "pcVar17 = local_f4 + 0xc;" (assignment_expression "pcVar17 = local_f4 + 0xc" identifier = (binary_expression "local_f4 + 0xc" identifier + number_literal)) ;) (if_statement "if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }" if (parenthesized_expression "(pcVar17 < pcVar25)" ( (binary_expression "pcVar17 < pcVar25" identifier < identifier) )) (compound_statement "{\n              iVar7 = 8;\n            }" { (expression_statement "iVar7 = 8;" (assignment_expression "iVar7 = 8" identifier = number_literal) ;) }) (else_clause "else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }" else (if_statement "if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }" if (parenthesized_expression "((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))" ( (binary_expression "(pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U)" (parenthesized_expression "(pcVar25 <= pcVar18)" ( (binary_expression "pcVar25 <= pcVar18" identifier <= identifier) )) || (parenthesized_expression "(iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U)" ( (comma_expression "iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U" (assignment_expression "iVar7 = (int)pcVar25 - (int)pcVar18" identifier = (binary_expression "(int)pcVar25 - (int)pcVar18" (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar18" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "7 < iVar7 - 1U" number_literal < (binary_expression "iVar7 - 1U" identifier - number_literal))) ))) )) (compound_statement "{\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }" { (expression_statement "local_cc = 0xc;" (assignment_expression "local_cc = 0xc" identifier = number_literal) ;) (expression_statement "pcVar16 = local_f4 + 0xe;" (assignment_expression "pcVar16 = local_f4 + 0xe" identifier = (binary_expression "local_f4 + 0xe" identifier + number_literal)) ;) (expression_statement "local_d4 = 0xc;" (assignment_expression "local_d4 = 0xc" identifier = number_literal) ;) (expression_statement "local_f0 = 8;" (assignment_expression "local_f0 = 8" identifier = number_literal) ;) (goto_statement "goto joined_r0x00056d9b;" goto statement_identifier ;) })))) (expression_statement "pcVar16 = local_f4 + 0xe;" (assignment_expression "pcVar16 = local_f4 + 0xe" identifier = (binary_expression "local_f4 + 0xe" identifier + number_literal)) ;) (expression_statement "lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);" (assignment_expression "lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7)" identifier = (call_expression "(*DAT_000b9dd8)(pcVar18,iVar7)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(pcVar18,iVar7)" ( identifier , identifier )))) ;) (expression_statement "local_cc = 0xc;" (assignment_expression "local_cc = 0xc" identifier = number_literal) ;) (expression_statement "local_d4 = 0xc;" (assignment_expression "local_d4 = 0xc" identifier = number_literal) ;) (expression_statement "local_f0 = 8;" (assignment_expression "local_f0 = 8" identifier = number_literal) ;) }) (else_clause "else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }" else (compound_statement "{\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }" { (expression_statement "pcVar16 = local_f4 + 6;" (assignment_expression "pcVar16 = local_f4 + 6" identifier = (binary_expression "local_f4 + 6" identifier + number_literal)) ;) (expression_statement "local_cc = 4;" (assignment_expression "local_cc = 4" identifier = number_literal) ;) (expression_statement "local_d4 = 4;" (assignment_expression "local_d4 = 4" identifier = number_literal) ;) (expression_statement "local_f0 = 4;" (assignment_expression "local_f0 = 4" identifier = number_literal) ;) }))) (if_statement "if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;" if (parenthesized_expression "(pcVar16 < pcVar25)" ( (binary_expression "pcVar16 < pcVar25" identifier < identifier) )) (compound_statement "{\n            iVar7 = 2;\n          }" { (expression_statement "iVar7 = 2;" (assignment_expression "iVar7 = 2" identifier = number_literal) ;) }) (else_clause "else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;" else (if_statement "if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;" if (parenthesized_expression "((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))" ( (binary_expression "(pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U)" (parenthesized_expression "(pcVar25 <= pcVar17)" ( (binary_expression "pcVar25 <= pcVar17" identifier <= identifier) )) || (parenthesized_expression "(iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U)" ( (comma_expression "iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U" (assignment_expression "iVar7 = (int)pcVar25 - (int)pcVar17" identifier = (binary_expression "(int)pcVar25 - (int)pcVar17" (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar17" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "7 < iVar7 - 1U" number_literal < (binary_expression "iVar7 - 1U" identifier - number_literal))) ))) )) (goto_statement "goto LAB_00056db1;" goto statement_identifier ;)))) (labeled_statement "LAB_000566e9:\n          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);" statement_identifier : (expression_statement "local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);" (assignment_expression "local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7)" identifier = (call_expression "(*DAT_000b9dd8)(pcVar17,iVar7)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(pcVar17,iVar7)" ( identifier , identifier )))) ;)) }) (else_clause "else {\n          iVar7 = (int)pcVar25 - (int)local_f4;\n          if (iVar7 - 1U < 8) goto LAB_00056d25;\n          local_cc = 4;\n          pcVar16 = local_f4 + 6;\n          local_d4 = 4;\n          local_f0 = 4;\njoined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }\n          lVar28 = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }" else (compound_statement "{\n          iVar7 = (int)pcVar25 - (int)local_f4;\n          if (iVar7 - 1U < 8) goto LAB_00056d25;\n          local_cc = 4;\n          pcVar16 = local_f4 + 6;\n          local_d4 = 4;\n          local_f0 = 4;\njoined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }\n          lVar28 = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }" { (expression_statement "iVar7 = (int)pcVar25 - (int)local_f4;" (assignment_expression "iVar7 = (int)pcVar25 - (int)local_f4" identifier = (binary_expression "(int)pcVar25 - (int)local_f4" (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (iVar7 - 1U < 8) goto LAB_00056d25;" if (parenthesized_expression "(iVar7 - 1U < 8)" ( (binary_expression "iVar7 - 1U < 8" (binary_expression "iVar7 - 1U" identifier - number_literal) < number_literal) )) (goto_statement "goto LAB_00056d25;" goto statement_identifier ;)) (expression_statement "local_cc = 4;" (assignment_expression "local_cc = 4" identifier = number_literal) ;) (expression_statement "pcVar16 = local_f4 + 6;" (assignment_expression "pcVar16 = local_f4 + 6" identifier = (binary_expression "local_f4 + 6" identifier + number_literal)) ;) (expression_statement "local_d4 = 4;" (assignment_expression "local_d4 = 4" identifier = number_literal) ;) (expression_statement "local_f0 = 4;" (assignment_expression "local_f0 = 4" identifier = number_literal) ;) (labeled_statement "joined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }" statement_identifier : (if_statement "if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }" if (parenthesized_expression "(pcVar16 < pcVar25)" ( (binary_expression "pcVar16 < pcVar25" identifier < identifier) )) (compound_statement "{\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }" { (expression_statement "iVar7 = 2;" (assignment_expression "iVar7 = 2" identifier = number_literal) ;) (expression_statement "lVar28 = 0;" (assignment_expression "lVar28 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000566e9;" goto statement_identifier ;) }))) (expression_statement "lVar28 = 0;" (assignment_expression "lVar28 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00056db1:\n          local_e2 = 0;" statement_identifier : (expression_statement "local_e2 = 0;" (assignment_expression "local_e2 = 0" identifier = number_literal) ;)) }))) (expression_statement "local_ec = (int)lVar28;" (assignment_expression "local_ec = (int)lVar28" identifier = (cast_expression "(int)lVar28" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar8 = (int)local_f4 - (int)pcVar15;" (assignment_expression "uVar8 = (int)local_f4 - (int)pcVar15" identifier = (binary_expression "(int)local_f4 - (int)pcVar15" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar15" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "uVar9 = (int)uVar8 >> 0x1f;" (assignment_expression "uVar9 = (int)uVar8 >> 0x1f" identifier = (binary_expression "(int)uVar8 >> 0x1f" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (if_statement "if (param_5 == 0) {\n          iVar22 = 1;\n          iVar7 = DAT_000b9d34;\n          iVar26 = DAT_000b9d2c;\n        }\n        else {\n          iVar22 = 2;\n          iVar7 = DAT_000b9d30;\n          iVar26 = DAT_000b9d28;\n        }" if (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar22 = 1;\n          iVar7 = DAT_000b9d34;\n          iVar26 = DAT_000b9d2c;\n        }" { (expression_statement "iVar22 = 1;" (assignment_expression "iVar22 = 1" identifier = number_literal) ;) (expression_statement "iVar7 = DAT_000b9d34;" (assignment_expression "iVar7 = DAT_000b9d34" identifier = identifier) ;) (expression_statement "iVar26 = DAT_000b9d2c;" (assignment_expression "iVar26 = DAT_000b9d2c" identifier = identifier) ;) }) (else_clause "else {\n          iVar22 = 2;\n          iVar7 = DAT_000b9d30;\n          iVar26 = DAT_000b9d28;\n        }" else (compound_statement "{\n          iVar22 = 2;\n          iVar7 = DAT_000b9d30;\n          iVar26 = DAT_000b9d28;\n        }" { (expression_statement "iVar22 = 2;" (assignment_expression "iVar22 = 2" identifier = number_literal) ;) (expression_statement "iVar7 = DAT_000b9d30;" (assignment_expression "iVar7 = DAT_000b9d30" identifier = identifier) ;) (expression_statement "iVar26 = DAT_000b9d28;" (assignment_expression "iVar26 = DAT_000b9d28" identifier = identifier) ;) }))) (for_statement "for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;\n          iVar26 = iVar26 + 0x68;\n        }" for ( ; (binary_expression "iVar7 != 0" identifier != number_literal) ; (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ) (compound_statement "{\n          if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;\n          iVar26 = iVar26 + 0x68;\n        }" { (if_statement "if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;" if (parenthesized_expression "(uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8))" ( (binary_expression "uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)" (binary_expression "uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8)" identifier == (pointer_expression "*(uint *)(iVar26 + 0xc + iVar22 * 8)" * (cast_expression "(uint *)(iVar26 + 0xc + iVar22 * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0xc + iVar22 * 8)" ( (binary_expression "iVar26 + 0xc + iVar22 * 8" (binary_expression "iVar26 + 0xc" identifier + number_literal) + (binary_expression "iVar22 * 8" identifier * number_literal)) ))))) && (binary_expression "uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)" identifier == (pointer_expression "*(uint *)(iVar26 + 8 + iVar22 * 8)" * (cast_expression "(uint *)(iVar26 + 8 + iVar22 * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 8 + iVar22 * 8)" ( (binary_expression "iVar26 + 8 + iVar22 * 8" (binary_expression "iVar26 + 8" identifier + number_literal) + (binary_expression "iVar22 * 8" identifier * number_literal)) )))))) )) (goto_statement "goto joined_r0x0005676e;" goto statement_identifier ;)) (expression_statement "iVar26 = iVar26 + 0x68;" (assignment_expression "iVar26 = iVar26 + 0x68" identifier = (binary_expression "iVar26 + 0x68" identifier + number_literal)) ;) })) (expression_statement "iVar26 = 0;" (assignment_expression "iVar26 = 0" identifier = number_literal) ;) (labeled_statement "joined_r0x0005676e:\n        uVar13 = local_f0;" statement_identifier : (expression_statement "uVar13 = local_f0;" (assignment_expression "uVar13 = local_f0" identifier = identifier) ;)) (if_statement "if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar6 = 0xff;\njoined_r0x000567df:\n          pcVar18 = pcVar16 + local_f0;\n          if ((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))\n          goto LAB_00056caa;\nLAB_000567f7:\n          uVar27 = 0;\n          uVar5 = 0;\n          if (iVar26 != 0) goto LAB_0005680f;\nLAB_00056cce:\n          uVar27 = uVar5;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n        }\n        else {\n          pcVar18 = pcVar17 + 3;\n          if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }\n          pcVar16 = pcVar17 + 4;\n          bVar6 = 0;\n          pcVar18 = pcVar16 + local_f0;\n          if (pcVar25 <= pcVar18) goto LAB_000567f7;\nLAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);\n          uVar5 = uVar27;\n          if (iVar26 == 0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);\n          local_98 = *(int *)(iVar26 + 0x24);\n          local_ac = *(uint *)(iVar26 + 0x54);\n        }" if (parenthesized_expression "(local_e2 < 5)" ( (binary_expression "local_e2 < 5" identifier < number_literal) )) (compound_statement "{\n          local_b4 = 1;\n          bVar6 = 0xff;\njoined_r0x000567df:\n          pcVar18 = pcVar16 + local_f0;\n          if ((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))\n          goto LAB_00056caa;\nLAB_000567f7:\n          uVar27 = 0;\n          uVar5 = 0;\n          if (iVar26 != 0) goto LAB_0005680f;\nLAB_00056cce:\n          uVar27 = uVar5;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n        }" { (expression_statement "local_b4 = 1;" (assignment_expression "local_b4 = 1" identifier = number_literal) ;) (expression_statement "bVar6 = 0xff;" (assignment_expression "bVar6 = 0xff" identifier = number_literal) ;) (labeled_statement "joined_r0x000567df:\n          pcVar18 = pcVar16 + local_f0;" statement_identifier : (expression_statement "pcVar18 = pcVar16 + local_f0;" (assignment_expression "pcVar18 = pcVar16 + local_f0" identifier = (binary_expression "pcVar16 + local_f0" identifier + identifier)) ;)) (if_statement "if ((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))\n          goto LAB_00056caa;" if (parenthesized_expression "((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))" ( (binary_expression "(pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8)))" (parenthesized_expression "(pcVar18 < pcVar25)" ( (binary_expression "pcVar18 < pcVar25" identifier < identifier) )) || (parenthesized_expression "((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8)))" ( (parenthesized_expression "(pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))" ( (binary_expression "pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8)" (binary_expression "pcVar16 < pcVar25" identifier < identifier) && (parenthesized_expression "(uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8)" ( (comma_expression "uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8" (assignment_expression "uVar13 = (int)pcVar25 - (int)pcVar16" identifier = (binary_expression "(int)pcVar25 - (int)pcVar16" (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar16" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "((int)pcVar25 - (int)pcVar16) - 1U < 8" (binary_expression "((int)pcVar25 - (int)pcVar16) - 1U" (parenthesized_expression "((int)pcVar25 - (int)pcVar16)" ( (binary_expression "(int)pcVar25 - (int)pcVar16" (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal) < number_literal)) ))) )) ))) )) (goto_statement "goto LAB_00056caa;" goto statement_identifier ;)) (labeled_statement "LAB_000567f7:\n          uVar27 = 0;" statement_identifier : (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" identifier = number_literal) ;)) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) (if_statement "if (iVar26 != 0) goto LAB_0005680f;" if (parenthesized_expression "(iVar26 != 0)" ( (binary_expression "iVar26 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0005680f;" goto statement_identifier ;)) (labeled_statement "LAB_00056cce:\n          uVar27 = uVar5;" statement_identifier : (expression_statement "uVar27 = uVar5;" (assignment_expression "uVar27 = uVar5" identifier = identifier) ;)) (expression_statement "local_9c = 0;" (assignment_expression "local_9c = 0" identifier = number_literal) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);" (assignment_expression "local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40)" identifier = (pointer_expression "*(uint *)(&DAT_000b485c + param_3 * 0x40)" * (cast_expression "(uint *)(&DAT_000b485c + param_3 * 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_000b485c + param_3 * 0x40)" ( (binary_expression "&DAT_000b485c + param_3 * 0x40" (pointer_expression "&DAT_000b485c" & identifier) + (binary_expression "param_3 * 0x40" identifier * number_literal)) ))))) ;) }) (else_clause "else {\n          pcVar18 = pcVar17 + 3;\n          if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }\n          pcVar16 = pcVar17 + 4;\n          bVar6 = 0;\n          pcVar18 = pcVar16 + local_f0;\n          if (pcVar25 <= pcVar18) goto LAB_000567f7;\nLAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);\n          uVar5 = uVar27;\n          if (iVar26 == 0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);\n          local_98 = *(int *)(iVar26 + 0x24);\n          local_ac = *(uint *)(iVar26 + 0x54);\n        }" else (compound_statement "{\n          pcVar18 = pcVar17 + 3;\n          if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }\n          pcVar16 = pcVar17 + 4;\n          bVar6 = 0;\n          pcVar18 = pcVar16 + local_f0;\n          if (pcVar25 <= pcVar18) goto LAB_000567f7;\nLAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);\n          uVar5 = uVar27;\n          if (iVar26 == 0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);\n          local_98 = *(int *)(iVar26 + 0x24);\n          local_ac = *(uint *)(iVar26 + 0x54);\n        }" { (expression_statement "pcVar18 = pcVar17 + 3;" (assignment_expression "pcVar18 = pcVar17 + 3" identifier = (binary_expression "pcVar17 + 3" identifier + number_literal)) ;) (if_statement "if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }" if (parenthesized_expression "(pcVar18 < pcVar25)" ( (binary_expression "pcVar18 < pcVar25" identifier < identifier) )) (compound_statement "{\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }" { (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);" statement_identifier : (expression_statement "local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);" (assignment_expression "local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7)" identifier = (call_expression "(*DAT_000b9dd8)(pcVar16,iVar7)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(pcVar16,iVar7)" ( identifier , identifier )))) ;)) (expression_statement "param_5 = (uint)(local_b4 == 2);" (assignment_expression "param_5 = (uint)(local_b4 == 2)" identifier = (call_expression "(uint)(local_b4 == 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_b4 == 2)" ( (binary_expression "local_b4 == 2" identifier == number_literal) )))) ;) (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" identifier = number_literal) ;) (if_statement "if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }" if (parenthesized_expression "((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))))" ( (binary_expression "(pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))" (parenthesized_expression "(pcVar17 + 4 < pcVar25)" ( (binary_expression "pcVar17 + 4 < pcVar25" (binary_expression "pcVar17 + 4" identifier + number_literal) < identifier) )) || (parenthesized_expression "((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))" ( (parenthesized_expression "(pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))" ( (binary_expression "pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)" (binary_expression "pcVar18 < pcVar25" identifier < identifier) && (parenthesized_expression "(iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)" ( (comma_expression "iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8" (assignment_expression "iVar7 = (int)pcVar25 - (int)pcVar18" identifier = (binary_expression "(int)pcVar25 - (int)pcVar18" (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar18" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "iVar7 - 1U < 8" (binary_expression "iVar7 - 1U" identifier - number_literal) < number_literal)) ))) )) ))) )) (compound_statement "{\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }" { (labeled_statement "LAB_000567c4:\n              pcVar16 = pcVar17 + 4;" statement_identifier : (expression_statement "pcVar16 = pcVar17 + 4;" (assignment_expression "pcVar16 = pcVar17 + 4" identifier = (binary_expression "pcVar17 + 4" identifier + number_literal)) ;)) (expression_statement "bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);" (assignment_expression "bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7)" identifier = (call_expression "(*DAT_000b9dd8)(pcVar18,iVar7)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(pcVar18,iVar7)" ( identifier , identifier )))) ;) (goto_statement "goto joined_r0x000567df;" goto statement_identifier ;) })) }) (else_clause "else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }" else (compound_statement "{\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }" { (if_statement "if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;" if (parenthesized_expression "((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))" ( (binary_expression "(pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8)" (parenthesized_expression "(pcVar16 < pcVar25)" ( (binary_expression "pcVar16 < pcVar25" identifier < identifier) )) && (parenthesized_expression "(iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8)" ( (comma_expression "iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8" (assignment_expression "iVar7 = (int)pcVar25 - (int)pcVar16" identifier = (binary_expression "(int)pcVar25 - (int)pcVar16" (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar16" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "iVar7 - 1U < 8" (binary_expression "iVar7 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00057245;" goto statement_identifier ;)) (expression_statement "param_5 = 0;" (assignment_expression "param_5 = 0" identifier = number_literal) ;) (expression_statement "local_b4 = 0;" (assignment_expression "local_b4 = 0" identifier = number_literal) ;) (if_statement "if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }" if (parenthesized_expression "(pcVar17 + 4 < pcVar25)" ( (binary_expression "pcVar17 + 4 < pcVar25" (binary_expression "pcVar17 + 4" identifier + number_literal) < identifier) )) (compound_statement "{\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }" { (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_000567c4;" goto statement_identifier ;) })) }))) (expression_statement "pcVar16 = pcVar17 + 4;" (assignment_expression "pcVar16 = pcVar17 + 4" identifier = (binary_expression "pcVar17 + 4" identifier + number_literal)) ;) (expression_statement "bVar6 = 0;" (assignment_expression "bVar6 = 0" identifier = number_literal) ;) (expression_statement "pcVar18 = pcVar16 + local_f0;" (assignment_expression "pcVar18 = pcVar16 + local_f0" identifier = (binary_expression "pcVar16 + local_f0" identifier + identifier)) ;) (if_statement "if (pcVar25 <= pcVar18) goto LAB_000567f7;" if (parenthesized_expression "(pcVar25 <= pcVar18)" ( (binary_expression "pcVar25 <= pcVar18" identifier <= identifier) )) (goto_statement "goto LAB_000567f7;" goto statement_identifier ;)) (labeled_statement "LAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);" statement_identifier : (expression_statement "uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);" (assignment_expression "uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13)" identifier = (call_expression "(*DAT_000b9dd8)(pcVar16,uVar13)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(pcVar16,uVar13)" ( identifier , identifier )))) ;)) (expression_statement "uVar5 = uVar27;" (assignment_expression "uVar5 = uVar27" identifier = identifier) ;) (if_statement "if (iVar26 == 0) goto LAB_00056cce;" if (parenthesized_expression "(iVar26 == 0)" ( (binary_expression "iVar26 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00056cce;" goto statement_identifier ;)) (labeled_statement "LAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);" statement_identifier : (expression_statement "local_9c = *(uint *)(iVar26 + 0x20);" (assignment_expression "local_9c = *(uint *)(iVar26 + 0x20)" identifier = (pointer_expression "*(uint *)(iVar26 + 0x20)" * (cast_expression "(uint *)(iVar26 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x20)" ( (binary_expression "iVar26 + 0x20" identifier + number_literal) ))))) ;)) (expression_statement "local_98 = *(int *)(iVar26 + 0x24);" (assignment_expression "local_98 = *(int *)(iVar26 + 0x24)" identifier = (pointer_expression "*(int *)(iVar26 + 0x24)" * (cast_expression "(int *)(iVar26 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x24)" ( (binary_expression "iVar26 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "local_ac = *(uint *)(iVar26 + 0x54);" (assignment_expression "local_ac = *(uint *)(iVar26 + 0x54)" identifier = (pointer_expression "*(uint *)(iVar26 + 0x54)" * (cast_expression "(uint *)(iVar26 + 0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x54)" ( (binary_expression "iVar26 + 0x54" identifier + number_literal) ))))) ;) }))) (expression_statement "local_a0 = (uint)((ulonglong)uVar27 >> 0x20);" (assignment_expression "local_a0 = (uint)((ulonglong)uVar27 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar27 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar27 >> 0x20)" ( (binary_expression "(ulonglong)uVar27 >> 0x20" (cast_expression "(ulonglong)uVar27" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_b0 = (uint)uVar27;" (assignment_expression "local_b0 = (uint)uVar27" identifier = (cast_expression "(uint)uVar27" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pcVar17 = pcVar18;" (assignment_expression "pcVar17 = pcVar18" identifier = identifier) ;) (if_statement "if (local_e2 < 5) {\n          pcVar17 = pcVar18 + 1;\n          if (pcVar17 < pcVar25) {\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }\n          if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))\n          goto LAB_00056c35;\n          bVar6 = 0;\nLAB_00056853:\n          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;\n          warn(uVar10,bVar6,local_f0);\n          bVar6 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;\n        }" if (parenthesized_expression "(local_e2 < 5)" ( (binary_expression "local_e2 < 5" identifier < number_literal) )) (compound_statement "{\n          pcVar17 = pcVar18 + 1;\n          if (pcVar17 < pcVar25) {\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }\n          if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))\n          goto LAB_00056c35;\n          bVar6 = 0;\nLAB_00056853:\n          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;\n          warn(uVar10,bVar6,local_f0);\n          bVar6 = (byte)local_f0;\n        }" { (expression_statement "pcVar17 = pcVar18 + 1;" (assignment_expression "pcVar17 = pcVar18 + 1" identifier = (binary_expression "pcVar18 + 1" identifier + number_literal)) ;) (if_statement "if (pcVar17 < pcVar25) {\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }" if (parenthesized_expression "(pcVar17 < pcVar25)" ( (binary_expression "pcVar17 < pcVar25" identifier < identifier) )) (compound_statement "{\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }" { (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);" statement_identifier : (expression_statement "bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);" (assignment_expression "bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7)" identifier = (call_expression "(*DAT_000b9dd8)(pcVar18,iVar7)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(pcVar18,iVar7)" ( identifier , identifier )))) ;)) (goto_statement "goto LAB_00056c57;" goto statement_identifier ;) })) (if_statement "if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))\n          goto LAB_00056c35;" if (parenthesized_expression "((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))" ( (binary_expression "(pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)" (parenthesized_expression "(pcVar18 < pcVar25)" ( (binary_expression "pcVar18 < pcVar25" identifier < identifier) )) && (parenthesized_expression "(iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)" ( (comma_expression "iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8" (assignment_expression "iVar7 = (int)pcVar25 - (int)pcVar18" identifier = (binary_expression "(int)pcVar25 - (int)pcVar18" (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar18" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "iVar7 - 1U < 8" (binary_expression "iVar7 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00056c35;" goto statement_identifier ;)) (expression_statement "bVar6 = 0;" (assignment_expression "bVar6 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00056853:\n          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;" statement_identifier : (expression_statement "uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;" (assignment_expression "uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)" identifier = (call_expression "dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)" identifier (argument_list "(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)" ( number_literal , (string_literal ""Invalid pointer size (%d) in compunit header, using %d instead\n"" " string_content escape_sequence ") , number_literal )))) ;)) (expression_statement "warn(uVar10,bVar6,local_f0);" (call_expression "warn(uVar10,bVar6,local_f0)" identifier (argument_list "(uVar10,bVar6,local_f0)" ( identifier , identifier , identifier ))) ;) (expression_statement "bVar6 = (byte)local_f0;" (assignment_expression "bVar6 = (byte)local_f0" identifier = (cast_expression "(byte)local_f0" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) }) (else_clause "else {\nLAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;\n        }" else (compound_statement "{\nLAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;\n        }" { (labeled_statement "LAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;" statement_identifier : (if_statement "if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;" if (parenthesized_expression "(6 < (byte)(bVar6 - 2))" ( (binary_expression "6 < (byte)(bVar6 - 2)" number_literal < (call_expression "(byte)(bVar6 - 2)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar6 - 2)" ( (binary_expression "bVar6 - 2" identifier - number_literal) )))) )) (goto_statement "goto LAB_00056853;" goto statement_identifier ;))) }))) (if_statement "if (param_5 != 0) {\n          pcVar18 = pcVar17 + 8;\n          if (pcVar25 < pcVar18) {\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }\n          else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }\n          pcVar17 = pcVar18 + local_f0;\n          uVar13 = local_f0;\n          if ((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }\n        }" if (parenthesized_expression "(param_5 != 0)" ( (binary_expression "param_5 != 0" identifier != number_literal) )) (compound_statement "{\n          pcVar18 = pcVar17 + 8;\n          if (pcVar25 < pcVar18) {\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }\n          else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }\n          pcVar17 = pcVar18 + local_f0;\n          uVar13 = local_f0;\n          if ((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }\n        }" { (expression_statement "pcVar18 = pcVar17 + 8;" (assignment_expression "pcVar18 = pcVar17 + 8" identifier = (binary_expression "pcVar17 + 8" identifier + number_literal)) ;) (if_statement "if (pcVar25 < pcVar18) {\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }\n          else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }" if (parenthesized_expression "(pcVar25 < pcVar18)" ( (binary_expression "pcVar25 < pcVar18" identifier < identifier) )) (compound_statement "{\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }" { (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }" else (compound_statement "{\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }" { (expression_statement "FUN_000670f0(pcVar17,&local_6c,&local_64);" (call_expression "FUN_000670f0(pcVar17,&local_6c,&local_64)" identifier (argument_list "(pcVar17,&local_6c,&local_64)" ( identifier , (pointer_expression "&local_6c" & identifier) , (pointer_expression "&local_64" & identifier) ))) ;) }))) (expression_statement "pcVar17 = pcVar18 + local_f0;" (assignment_expression "pcVar17 = pcVar18 + local_f0" identifier = (binary_expression "pcVar18 + local_f0" identifier + identifier)) ;) (expression_statement "uVar13 = local_f0;" (assignment_expression "uVar13 = local_f0" identifier = identifier) ;) (if_statement "if ((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }" if (parenthesized_expression "((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8))))" ( (binary_expression "(pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))" (parenthesized_expression "(pcVar17 < pcVar25)" ( (binary_expression "pcVar17 < pcVar25" identifier < identifier) )) || (parenthesized_expression "((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))" ( (parenthesized_expression "(pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8))" ( (binary_expression "pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)" (binary_expression "pcVar18 < pcVar25" identifier < identifier) && (parenthesized_expression "(uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)" ( (comma_expression "uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8" (assignment_expression "uVar13 = (int)pcVar25 - (int)pcVar18" identifier = (binary_expression "(int)pcVar25 - (int)pcVar18" (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar18" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "((int)pcVar25 - (int)pcVar18) - 1U < 8" (binary_expression "((int)pcVar25 - (int)pcVar18) - 1U" (parenthesized_expression "((int)pcVar25 - (int)pcVar18)" ( (binary_expression "(int)pcVar25 - (int)pcVar18" (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar18" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal) < number_literal)) ))) )) ))) )) (compound_statement "{\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }" { (expression_statement "(*DAT_000b9dd8)(pcVar18,uVar13);" (call_expression "(*DAT_000b9dd8)(pcVar18,uVar13)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(pcVar18,uVar13)" ( identifier , identifier ))) ;) })) })) (expression_statement "uVar13 = DAT_000b9dd4;" (assignment_expression "uVar13 = DAT_000b9dd4" identifier = identifier) ;) (expression_statement "uVar11 = local_d4 + uVar8;" (assignment_expression "uVar11 = local_d4 + uVar8" identifier = (binary_expression "local_d4 + uVar8" identifier + identifier)) ;) (expression_statement "lVar4 = lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8;" (assignment_expression "lVar4 = lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8" identifier = (binary_expression "lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8" (binary_expression "lVar28 + CONCAT44(uVar9,local_cc)" identifier + (call_expression "CONCAT44(uVar9,local_cc)" identifier (argument_list "(uVar9,local_cc)" ( identifier , identifier )))) + (cast_expression "(ulonglong)uVar8" ( (type_descriptor "ulonglong" type_identifier) ) identifier))) ;) (if_statement "if ((uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4)) {\n          local_f4 = pcVar15 + uVar11 + local_ec;\n        }\n        else {\n          if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);\n          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);\n          if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + local_d4 + local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }\n        }" if (parenthesized_expression "((uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4))" ( (binary_expression "(uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4)" (call_expression "(uint)((ulonglong)lVar4 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar4 >> 0x20)" ( (binary_expression "(ulonglong)lVar4 >> 0x20" (cast_expression "(ulonglong)lVar4" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) < (call_expression "(uint)((uint)lVar4 < DAT_000b9dd4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)lVar4 < DAT_000b9dd4)" ( (binary_expression "(uint)lVar4 < DAT_000b9dd4" (cast_expression "(uint)lVar4" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier) )))) )) (compound_statement "{\n          local_f4 = pcVar15 + uVar11 + local_ec;\n        }" { (expression_statement "local_f4 = pcVar15 + uVar11 + local_ec;" (assignment_expression "local_f4 = pcVar15 + uVar11 + local_ec" identifier = (binary_expression "pcVar15 + uVar11 + local_ec" (binary_expression "pcVar15 + uVar11" identifier + identifier) + identifier)) ;) }) (else_clause "else {\n          if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);\n          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);\n          if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + local_d4 + local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }\n        }" else (compound_statement "{\n          if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);\n          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);\n          if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + local_d4 + local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }\n        }" { (if_statement "if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;" if (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) (compound_statement "{\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }" { (if_statement "if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }" if (parenthesized_expression "((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0))" ( (binary_expression "(DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)" (parenthesized_expression "(DAT_000b9d90 != 0 || DAT_000b9db4 != 0)" ( (binary_expression "DAT_000b9d90 != 0 || DAT_000b9db4 != 0" (binary_expression "DAT_000b9d90 != 0" identifier != number_literal) || (binary_expression "DAT_000b9db4 != 0" identifier != number_literal)) )) && (parenthesized_expression "(DAT_000b9d6c == 0)" ( (binary_expression "DAT_000b9d6c == 0" identifier == number_literal) ))) )) (compound_statement "{\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }" { (labeled_statement "LAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }" statement_identifier : (if_statement "if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }" if (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) (compound_statement "{\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }" { (expression_statement "puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);" (assignment_expression "puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64)" identifier = (cast_expression "(uint *)(local_a4 * 0x50 + (int)DAT_000b9d64)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a4 * 0x50 + (int)DAT_000b9d64)" ( (binary_expression "local_a4 * 0x50 + (int)DAT_000b9d64" (binary_expression "local_a4 * 0x50" identifier * number_literal) + (cast_expression "(int)DAT_000b9d64" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "*puVar12 = (uint)bVar6;" (assignment_expression "*puVar12 = (uint)bVar6" (pointer_expression "*puVar12" * identifier) = (cast_expression "(uint)bVar6" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar12[4] = uVar9;" (assignment_expression "puVar12[4] = uVar9" (subscript_expression "puVar12[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[3] = uVar8;" (assignment_expression "puVar12[3] = uVar8" (subscript_expression "puVar12[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[1] = local_f0;" (assignment_expression "puVar12[1] = local_f0" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[2] = (uint)local_e2;" (assignment_expression "puVar12[2] = (uint)local_e2" (subscript_expression "puVar12[2]" identifier [ number_literal ]) = (cast_expression "(uint)local_e2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar12[5] = 0;" (assignment_expression "puVar12[5] = 0" (subscript_expression "puVar12[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[6] = 0;" (assignment_expression "puVar12[6] = 0" (subscript_expression "puVar12[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[7] = 0xffffffff;" (assignment_expression "puVar12[7] = 0xffffffff" (subscript_expression "puVar12[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[8] = 0;" (assignment_expression "puVar12[8] = 0" (subscript_expression "puVar12[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[9] = 0xffffffff;" (assignment_expression "puVar12[9] = 0xffffffff" (subscript_expression "puVar12[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[10] = 0;" (assignment_expression "puVar12[10] = 0" (subscript_expression "puVar12[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[0xb] = 0;" (assignment_expression "puVar12[0xb] = 0" (subscript_expression "puVar12[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[0xd] = 0;" (assignment_expression "puVar12[0xd] = 0" (subscript_expression "puVar12[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[0xf] = 0;" (assignment_expression "puVar12[0xf] = 0" (subscript_expression "puVar12[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[0xe] = 0;" (assignment_expression "puVar12[0xe] = 0" (subscript_expression "puVar12[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[0x11] = 0;" (assignment_expression "puVar12[0x11] = 0" (subscript_expression "puVar12[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[0x13] = 0;" (assignment_expression "puVar12[0x13] = 0" (subscript_expression "puVar12[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[0x12] = 0;" (assignment_expression "puVar12[0x12] = 0" (subscript_expression "puVar12[0x12]" identifier [ number_literal ]) = number_literal) ;) }))) (if_statement "if (param_4 != 0) goto LAB_00056a44;" if (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00056a44;" goto statement_identifier ;)) })) (if_statement "if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }" if (parenthesized_expression "(uVar13 == 0)" ( (binary_expression "uVar13 == 0" identifier == number_literal) )) (compound_statement "{\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }" { (expression_statement "uVar10 = FUN_0004cb50(0);" (assignment_expression "uVar10 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5)" identifier (argument_list "(0,"  Compilation Unit @ offset 0x%s:\n",5)" ( number_literal , (string_literal ""  Compilation Unit @ offset 0x%s:\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar18,uVar10);" (call_expression "printf(pcVar18,uVar10)" identifier (argument_list "(pcVar18,uVar10)" ( identifier , identifier ))) ;) (expression_statement "pcVar18 = "64-bit";" (assignment_expression "pcVar18 = "64-bit"" identifier = (string_literal ""64-bit"" " string_content ")) ;) (if_statement "if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }" if (parenthesized_expression "(local_f0 != 8)" ( (binary_expression "local_f0 != 8" identifier != number_literal) )) (compound_statement "{\n                pcVar18 = "32-bit";\n              }" { (expression_statement "pcVar18 = "32-bit";" (assignment_expression "pcVar18 = "32-bit"" identifier = (string_literal ""32-bit"" " string_content ")) ;) })) (expression_statement "uVar10 = FUN_0004cb50(0);" (assignment_expression "uVar10 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);" (assignment_expression "pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"   Length:        0x%s (%s)\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"   Length:        0x%s (%s)\n",5)" identifier (argument_list "(0,"   Length:        0x%s (%s)\n",5)" ( number_literal , (string_literal ""   Length:        0x%s (%s)\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar16,uVar10,pcVar18);" (call_expression "printf(pcVar16,uVar10,pcVar18)" identifier (argument_list "(pcVar16,uVar10,pcVar18)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"   Version:       %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"   Version:       %d\n",5)" identifier (argument_list "(0,"   Version:       %d\n",5)" ( number_literal , (string_literal ""   Version:       %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar18,(uint)local_e2);" (call_expression "printf(pcVar18,(uint)local_e2)" identifier (argument_list "(pcVar18,(uint)local_e2)" ( identifier , (cast_expression "(uint)local_e2" ( (type_descriptor "uint" type_identifier) ) identifier) ))) ;) (expression_statement "uVar10 = FUN_0004cb50(0);" (assignment_expression "uVar10 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"   Abbrev Offset: 0x%s\n",5)" identifier (argument_list "(0,"   Abbrev Offset: 0x%s\n",5)" ( number_literal , (string_literal ""   Abbrev Offset: 0x%s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar18,uVar10);" (call_expression "printf(pcVar18,uVar10)" identifier (argument_list "(pcVar18,uVar10)" ( identifier , identifier ))) ;) (expression_statement "pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"   Pointer Size:  %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"   Pointer Size:  %d\n",5)" identifier (argument_list "(0,"   Pointer Size:  %d\n",5)" ( number_literal , (string_literal ""   Pointer Size:  %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar18,(uint)bVar6);" (call_expression "printf(pcVar18,(uint)bVar6)" identifier (argument_list "(pcVar18,(uint)bVar6)" ( identifier , (cast_expression "(uint)bVar6" ( (type_descriptor "uint" type_identifier) ) identifier) ))) ;) (if_statement "if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }" if (parenthesized_expression "(param_5 != 0)" ( (binary_expression "param_5 != 0" identifier != number_literal) )) (compound_statement "{\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }" { (expression_statement "uVar10 = FUN_0004eae0(local_64,local_60,local_5c);" (assignment_expression "uVar10 = FUN_0004eae0(local_64,local_60,local_5c)" identifier = (call_expression "FUN_0004eae0(local_64,local_60,local_5c)" identifier (argument_list "(local_64,local_60,local_5c)" ( identifier , identifier , identifier )))) ;) (expression_statement "pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"   Signature:     0x%s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"   Signature:     0x%s\n",5)" identifier (argument_list "(0,"   Signature:     0x%s\n",5)" ( number_literal , (string_literal ""   Signature:     0x%s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar18,uVar10);" (call_expression "printf(pcVar18,uVar10)" identifier (argument_list "(pcVar18,uVar10)" ( identifier , identifier ))) ;) (expression_statement "uVar10 = FUN_0004cb50(0);" (assignment_expression "uVar10 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"   Type Offset:   0x%s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"   Type Offset:   0x%s\n",5)" identifier (argument_list "(0,"   Type Offset:   0x%s\n",5)" ( number_literal , (string_literal ""   Type Offset:   0x%s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar18,uVar10);" (call_expression "printf(pcVar18,uVar10)" identifier (argument_list "(pcVar18,uVar10)" ( identifier , identifier ))) ;) })) (if_statement "if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }" if (parenthesized_expression "(iVar26 != 0)" ( (binary_expression "iVar26 != 0" identifier != number_literal) )) (compound_statement "{\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }" { (expression_statement "pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"   Section contributions:\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"   Section contributions:\n",5)" identifier (argument_list "(0,"   Section contributions:\n",5)" ( number_literal , (string_literal ""   Section contributions:\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar18);" (call_expression "printf(pcVar18)" identifier (argument_list "(pcVar18)" ( identifier ))) ;) (expression_statement "uVar10 = FUN_0004cb50(0);" (assignment_expression "uVar10 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "uVar14 = FUN_0004cb50(0);" (assignment_expression "uVar14 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5)" identifier (argument_list "(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5)" ( number_literal , (string_literal ""    .debug_abbrev.dwo:       0x%s  0x%s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar18,uVar14,uVar10);" (call_expression "printf(pcVar18,uVar14,uVar10)" identifier (argument_list "(pcVar18,uVar14,uVar10)" ( identifier , identifier , identifier ))) ;) (expression_statement "uVar10 = FUN_0004cb50(0);" (assignment_expression "uVar10 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "uVar14 = FUN_0004cb50(0);" (assignment_expression "uVar14 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5)" identifier (argument_list "(0,"    .debug_line.dwo:         0x%s  0x%s\n",5)" ( number_literal , (string_literal ""    .debug_line.dwo:         0x%s  0x%s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar18,uVar14,uVar10);" (call_expression "printf(pcVar18,uVar14,uVar10)" identifier (argument_list "(pcVar18,uVar14,uVar10)" ( identifier , identifier , identifier ))) ;) (expression_statement "uVar10 = FUN_0004cb50(0);" (assignment_expression "uVar10 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "uVar14 = FUN_0004cb50(0);" (assignment_expression "uVar14 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5)" identifier (argument_list "(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5)" ( number_literal , (string_literal ""    .debug_loc.dwo:          0x%s  0x%s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar18,uVar14,uVar10);" (call_expression "printf(pcVar18,uVar14,uVar10)" identifier (argument_list "(pcVar18,uVar14,uVar10)" ( identifier , identifier , identifier ))) ;) (expression_statement "uVar10 = FUN_0004cb50(0);" (assignment_expression "uVar10 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "uVar14 = FUN_0004cb50(0);" (assignment_expression "uVar14 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5)" identifier (argument_list "(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5)" ( number_literal , (string_literal ""    .debug_str_offsets.dwo:  0x%s  0x%s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar18,uVar14,uVar10);" (call_expression "printf(pcVar18,uVar14,uVar10)" identifier (argument_list "(pcVar18,uVar14,uVar10)" ( identifier , identifier , identifier ))) ;) })) })) }) (else_clause "else if (DAT_000b9d6c == 0) goto LAB_00056993;" else (if_statement "if (DAT_000b9d6c == 0) goto LAB_00056993;" if (parenthesized_expression "(DAT_000b9d6c == 0)" ( (binary_expression "DAT_000b9d6c == 0" identifier == number_literal) )) (goto_statement "goto LAB_00056993;" goto statement_identifier ;)))) (labeled_statement "LAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);" statement_identifier : (expression_statement "uVar13 = (uint)(lVar28 + (ulonglong)uVar11);" (assignment_expression "uVar13 = (uint)(lVar28 + (ulonglong)uVar11)" identifier = (call_expression "(uint)(lVar28 + (ulonglong)uVar11)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(lVar28 + (ulonglong)uVar11)" ( (binary_expression "lVar28 + (ulonglong)uVar11" identifier + (cast_expression "(ulonglong)uVar11" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) )))) ;)) (expression_statement "uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);" (assignment_expression "uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20)" identifier = (call_expression "(uint)(lVar28 + (ulonglong)uVar11 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(lVar28 + (ulonglong)uVar11 >> 0x20)" ( (binary_expression "lVar28 + (ulonglong)uVar11 >> 0x20" (binary_expression "lVar28 + (ulonglong)uVar11" identifier + (cast_expression "(ulonglong)uVar11" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) >> number_literal) )))) ;) (if_statement "if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }" if (parenthesized_expression "((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13)))" ( (binary_expression "(uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))" (parenthesized_expression "(uVar23 < (uVar13 < uVar11))" ( (binary_expression "uVar23 < (uVar13 < uVar11)" identifier < (parenthesized_expression "(uVar13 < uVar11)" ( (binary_expression "uVar13 < uVar11" identifier < identifier) ))) )) || (parenthesized_expression "(*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))" ( (binary_expression "*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13)" (binary_expression "*(uint *)(param_1 + 0x20) < uVar23" (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) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13)" (binary_expression "*(uint *)(param_1 + 0x20) - uVar23" (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) < uVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(param_1 + 0x1c) < uVar13)" ( (binary_expression "*(uint *)(param_1 + 0x1c) < uVar13" (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) )))) < identifier) ))))) ))) )) (compound_statement "{\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }" { (expression_statement "uVar14 = FUN_0004cb50(0);" (assignment_expression "uVar14 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "uVar10 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar10 = *(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 "uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);" (assignment_expression "uVar20 = 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(uVar20,uVar10,uVar8,uVar14);" (call_expression "warn(uVar20,uVar10,uVar8,uVar14)" identifier (argument_list "(uVar20,uVar10,uVar8,uVar14)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "local_90 = local_a4;" (assignment_expression "local_90 = local_a4" identifier = identifier) ;) (break_statement "break;" break ;) })) (expression_statement "local_f4 = local_f4 + local_d4 + local_ec;" (assignment_expression "local_f4 = local_f4 + local_d4 + local_ec" identifier = (binary_expression "local_f4 + local_d4 + local_ec" (binary_expression "local_f4 + local_d4" identifier + identifier) + identifier)) ;) (if_statement "if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }" if (parenthesized_expression "((ushort)(local_e2 - 2) < 4)" ( (binary_expression "(ushort)(local_e2 - 2) < 4" (call_expression "(ushort)(local_e2 - 2)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(local_e2 - 2)" ( (binary_expression "local_e2 - 2" identifier - number_literal) ))) < number_literal) )) (compound_statement "{\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }" { (if_statement "if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }" if (parenthesized_expression "(local_b4 - 1U < 2)" ( (binary_expression "local_b4 - 1U < 2" (binary_expression "local_b4 - 1U" identifier - number_literal) < number_literal) )) (compound_statement "{\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }" { (expression_statement "FUN_0004ce90();" (call_expression "FUN_0004ce90()" identifier (argument_list "()" ( ))) ;) (if_statement "if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }" if (parenthesized_expression "(local_a0 < (local_b0 < local_ac))" ( (binary_expression "local_a0 < (local_b0 < local_ac)" identifier < (parenthesized_expression "(local_b0 < local_ac)" ( (binary_expression "local_b0 < local_ac" identifier < identifier) ))) )) (compound_statement "{\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }" { (expression_statement "uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);" (assignment_expression "uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40)" identifier = (pointer_expression "*(uint *)(&DAT_000b485c + param_3 * 0x40)" * (cast_expression "(uint *)(&DAT_000b485c + param_3 * 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_000b485c + param_3 * 0x40)" ( (binary_expression "&DAT_000b485c + param_3 * 0x40" (pointer_expression "&DAT_000b485c" & identifier) + (binary_expression "param_3 * 0x40" identifier * number_literal)) ))))) ;) (expression_statement "uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);" (assignment_expression "uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c)" identifier = (binary_expression "local_98 + (uint)CARRY4(local_ac,local_9c)" identifier + (cast_expression "(uint)CARRY4(local_ac,local_9c)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(local_ac,local_9c)" identifier (argument_list "(local_ac,local_9c)" ( identifier , identifier )))))) ;) (if_statement "if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }" if (parenthesized_expression "(*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c))" ( (binary_expression "*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)" (binary_expression "*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11" (pointer_expression "*(uint *)(&DAT_000b4860 + param_3 * 0x40)" * (cast_expression "(uint *)(&DAT_000b4860 + param_3 * 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_000b4860 + param_3 * 0x40)" ( (binary_expression "&DAT_000b4860 + param_3 * 0x40" (pointer_expression "&DAT_000b4860" & identifier) + (binary_expression "param_3 * 0x40" identifier * number_literal)) )))) < identifier) || (binary_expression "*(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)" (binary_expression "*(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11" (pointer_expression "*(uint *)(&DAT_000b4860 + param_3 * 0x40)" * (cast_expression "(uint *)(&DAT_000b4860 + param_3 * 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_000b4860 + param_3 * 0x40)" ( (binary_expression "&DAT_000b4860 + param_3 * 0x40" (pointer_expression "&DAT_000b4860" & identifier) + (binary_expression "param_3 * 0x40" identifier * number_literal)) )))) - identifier) < (call_expression "(uint)(uVar13 < local_ac + local_9c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar13 < local_ac + local_9c)" ( (binary_expression "uVar13 < local_ac + local_9c" identifier < (binary_expression "local_ac + local_9c" identifier + identifier)) ))))) )) (compound_statement "{\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }" { (expression_statement "uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);" (assignment_expression "uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5)" identifier = (call_expression "dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5)" identifier (argument_list "(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5)" ( number_literal , (string_literal ""Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar10,local_ac + local_9c,uVar13);" (call_expression "warn(uVar10,local_ac + local_9c,uVar13)" identifier (argument_list "(uVar10,local_ac + local_9c,uVar13)" ( identifier , (binary_expression "local_ac + local_9c" identifier + identifier) , identifier ))) ;) }) (else_clause "else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }" else (if_statement "if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }" if (parenthesized_expression "(DAT_000b9ce4 == (int *)0x0)" ( (binary_expression "DAT_000b9ce4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  FUN_0004fb10();\n                }" { (expression_statement "FUN_0004fb10();" (call_expression "FUN_0004fb10()" identifier (argument_list "()" ( ))) ;) })))) }) (else_clause "else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }" else (compound_statement "{\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }" { (expression_statement "uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);" (assignment_expression "uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5)" identifier = (call_expression "dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5)" identifier (argument_list "(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5)" ( number_literal , (string_literal ""Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar10,local_b0,local_ac);" (call_expression "warn(uVar10,local_b0,local_ac)" identifier (argument_list "(uVar10,local_b0,local_ac)" ( identifier , identifier , identifier ))) ;) }))) (if_statement "if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }" if (parenthesized_expression "(pcVar17 < local_f4)" ( (binary_expression "pcVar17 < local_f4" identifier < identifier) )) (compound_statement "{\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }" { (expression_statement "local_78 = -1;" (assignment_expression "local_78 = -1" identifier = number_literal) ;) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (expression_statement "local_d4 = 0;" (assignment_expression "local_d4 = 0" identifier = number_literal) ;) (do_statement "do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);" do (compound_statement "{\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                }" { (expression_statement "uVar11 = (int)pcVar17 - (int)pcVar15;" (assignment_expression "uVar11 = (int)pcVar17 - (int)pcVar15" identifier = (binary_expression "(int)pcVar17 - (int)pcVar15" (cast_expression "(int)pcVar17" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar15" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);" (assignment_expression "iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4)" identifier = (call_expression "FUN_0004f990(pcVar17,local_5c,0,local_f4)" identifier (argument_list "(pcVar17,local_5c,0,local_f4)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "pcVar17 = pcVar17 + local_5c[0];" (assignment_expression "pcVar17 = pcVar17 + local_5c[0]" identifier = (binary_expression "pcVar17 + local_5c[0]" identifier + (subscript_expression "local_5c[0]" identifier [ number_literal ]))) ;) (if_statement "if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }" { (if_statement "if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }" if (parenthesized_expression "((local_d4 == 0) && (pcVar25 == local_f4))" ( (binary_expression "(local_d4 == 0) && (pcVar25 == local_f4)" (parenthesized_expression "(local_d4 == 0)" ( (binary_expression "local_d4 == 0" identifier == number_literal) )) && (parenthesized_expression "(pcVar25 == local_f4)" ( (binary_expression "pcVar25 == local_f4" identifier == identifier) ))) )) (compound_statement "{\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }" { (expression_statement "pcVar18 = pcVar17;" (assignment_expression "pcVar18 = pcVar17" identifier = identifier) ;) (if_statement "if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;" if (parenthesized_expression "(pcVar17 < local_f4)" ( (binary_expression "pcVar17 < local_f4" identifier < identifier) )) (compound_statement "{\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }" { (while_statement "while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }" while (parenthesized_expression "(*pcVar18 == '\0')" ( (binary_expression "*pcVar18 == '\0'" (pointer_expression "*pcVar18" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }" { (expression_statement "pcVar18 = pcVar18 + 1;" (assignment_expression "pcVar18 = pcVar18 + 1" identifier = (binary_expression "pcVar18 + 1" identifier + number_literal)) ;) (if_statement "if (local_f4 == pcVar18) goto LAB_00056ae6;" if (parenthesized_expression "(local_f4 == pcVar18)" ( (binary_expression "local_f4 == pcVar18" identifier == identifier) )) (goto_statement "goto LAB_00056ae6;" goto statement_identifier ;)) })) }) (else_clause "else if (local_f4 == pcVar17) break;" else (if_statement "if (local_f4 == pcVar17) break;" if (parenthesized_expression "(local_f4 == pcVar17)" ( (binary_expression "local_f4 == pcVar17" identifier == identifier) )) (break_statement "break;" break ;)))) (if_statement "if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }" if (parenthesized_expression "(((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1))))" ( (binary_expression "((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))" (parenthesized_expression "((param_4 == 0) && (DAT_000b9dd4 <= uVar11))" ( (binary_expression "(param_4 == 0) && (DAT_000b9dd4 <= uVar11)" (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) && (parenthesized_expression "(DAT_000b9dd4 <= uVar11)" ( (binary_expression "DAT_000b9dd4 <= uVar11" identifier <= identifier) ))) )) && (parenthesized_expression "((0 < DAT_000b4828 || (DAT_000b4828 == -1)))" ( (parenthesized_expression "(0 < DAT_000b4828 || (DAT_000b4828 == -1))" ( (binary_expression "0 < DAT_000b4828 || (DAT_000b4828 == -1)" (binary_expression "0 < DAT_000b4828" number_literal < identifier) || (parenthesized_expression "(DAT_000b4828 == -1)" ( (binary_expression "DAT_000b4828 == -1" identifier == number_literal) ))) )) ))) )) (compound_statement "{\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }" { (expression_statement "iVar7 = -1;" (assignment_expression "iVar7 = -1" identifier = number_literal) ;) (labeled_statement "LAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);" statement_identifier : (expression_statement "pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5)" identifier = (cast_expression "(char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5)" identifier (argument_list "(0," <%d><%lx>: Abbrev Number: 0\n",5)" ( number_literal , (string_literal "" <%d><%lx>: Abbrev Number: 0\n"" " string_content escape_sequence ") , number_literal ))))) ;)) (expression_statement "printf(pcVar18,local_d4,uVar11);" (call_expression "printf(pcVar18,local_d4,uVar11)" identifier (argument_list "(pcVar18,local_d4,uVar11)" ( identifier , identifier , identifier ))) ;) (if_statement "if (-1 < iVar7) goto LAB_00057428;" if (parenthesized_expression "(-1 < iVar7)" ( (binary_expression "-1 < iVar7" number_literal < identifier) )) (goto_statement "goto LAB_00057428;" goto statement_identifier ;)) }) (else_clause "else {\n                        iVar7 = -1;\n                      }" else (compound_statement "{\n                        iVar7 = -1;\n                      }" { (expression_statement "iVar7 = -1;" (assignment_expression "iVar7 = -1" identifier = number_literal) ;) }))) (labeled_statement "LAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }" statement_identifier : (if_statement "if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }" if (parenthesized_expression "(DAT_000b7ca4 < 3)" ( (binary_expression "DAT_000b7ca4 < 3" identifier < number_literal) )) (compound_statement "{\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }" { (expression_statement "uVar10 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar10 = *(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 "uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);" (assignment_expression "uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5)" identifier = (call_expression "dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5)" identifier (argument_list "(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5)" ( number_literal , (string_literal ""Bogus end-of-siblings marker detected at offset %lx in %s section\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar14,uVar11,uVar10);" (call_expression "warn(uVar14,uVar11,uVar10)" identifier (argument_list "(uVar14,uVar11,uVar10)" ( identifier , identifier , identifier ))) ;) (expression_statement "DAT_000b7ca4 = DAT_000b7ca4 + 1;" (assignment_expression "DAT_000b7ca4 = DAT_000b7ca4 + 1" identifier = (binary_expression "DAT_000b7ca4 + 1" identifier + number_literal)) ;) (if_statement "if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }" if (parenthesized_expression "(DAT_000b7ca4 == 3)" ( (binary_expression "DAT_000b7ca4 == 3" identifier == number_literal) )) (compound_statement "{\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }" { (expression_statement "uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);" (assignment_expression "uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5)" identifier = (call_expression "dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5)" identifier (argument_list "(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5)" ( number_literal , (string_literal ""Further warnings about bogus end-of-sibling markers suppressed\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar10);" (call_expression "warn(uVar10)" identifier (argument_list "(uVar10)" ( identifier ))) ;) })) }))) }) (else_clause "else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }" else (compound_statement "{\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }" { (expression_statement "iVar7 = local_d4 + -1;" (assignment_expression "iVar7 = local_d4 + -1" identifier = (binary_expression "local_d4 + -1" identifier + number_literal)) ;) (if_statement "if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;" if (parenthesized_expression "(((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1))))" ( (binary_expression "((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))" (parenthesized_expression "((param_4 == 0) && (DAT_000b9dd4 <= uVar11))" ( (binary_expression "(param_4 == 0) && (DAT_000b9dd4 <= uVar11)" (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) && (parenthesized_expression "(DAT_000b9dd4 <= uVar11)" ( (binary_expression "DAT_000b9dd4 <= uVar11" identifier <= identifier) ))) )) && (parenthesized_expression "((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))" ( (parenthesized_expression "(local_d4 < DAT_000b4828 || (DAT_000b4828 == -1))" ( (binary_expression "local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)" (binary_expression "local_d4 < DAT_000b4828" identifier < identifier) || (parenthesized_expression "(DAT_000b4828 == -1)" ( (binary_expression "DAT_000b4828 == -1" identifier == number_literal) ))) )) ))) )) (goto_statement "goto LAB_00057496;" goto statement_identifier ;)) (if_statement "if (iVar7 < 0) goto LAB_000574d0;" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (goto_statement "goto LAB_000574d0;" goto statement_identifier ;)) }))) (labeled_statement "LAB_00057428:\n                    local_d4 = iVar7;" statement_identifier : (expression_statement "local_d4 = iVar7;" (assignment_expression "local_d4 = iVar7" identifier = identifier) ;)) (if_statement "if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }" if (parenthesized_expression "((DAT_000b9dd4 != 0) && (iVar7 < local_78))" ( (binary_expression "(DAT_000b9dd4 != 0) && (iVar7 < local_78)" (parenthesized_expression "(DAT_000b9dd4 != 0)" ( (binary_expression "DAT_000b9dd4 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar7 < local_78)" ( (binary_expression "iVar7 < local_78" identifier < identifier) ))) )) (compound_statement "{\n                      return 1;\n                    }" { (return_statement "return 1;" return number_literal ;) })) }) (else_clause "else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }" else (compound_statement "{\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }" { (if_statement "if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }" if (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) (compound_statement "{\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }" { (if_statement "if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }" if (parenthesized_expression "(DAT_000b9dd4 != 0)" ( (binary_expression "DAT_000b9dd4 != 0" identifier != number_literal) )) (compound_statement "{\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }" { (if_statement "if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }" if (parenthesized_expression "(uVar11 < DAT_000b9dd4)" ( (binary_expression "uVar11 < DAT_000b9dd4" identifier < identifier) )) (compound_statement "{\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }" { (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" identifier = false) ;) (expression_statement "iVar22 = 0;" (assignment_expression "iVar22 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0005783c;" goto statement_identifier ;) })) (if_statement "if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }" if (parenthesized_expression "(DAT_000b9dd4 == uVar11)" ( (binary_expression "DAT_000b9dd4 == uVar11" identifier == identifier) )) (compound_statement "{\n                          local_78 = local_d4;\n                        }" { (expression_statement "local_78 = local_d4;" (assignment_expression "local_78 = local_d4" identifier = identifier) ;) })) })) (expression_statement "bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;" (assignment_expression "bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828" identifier = (binary_expression "DAT_000b4828 == -1 || local_d4 < DAT_000b4828" (binary_expression "DAT_000b4828 == -1" identifier == number_literal) || (binary_expression "local_d4 < DAT_000b4828" identifier < identifier))) ;) (if_statement "if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }" if (parenthesized_expression "(DAT_000b4828 == -1 || local_d4 < DAT_000b4828)" ( (binary_expression "DAT_000b4828 == -1 || local_d4 < DAT_000b4828" (binary_expression "DAT_000b4828 == -1" identifier == number_literal) || (binary_expression "local_d4 < DAT_000b4828" identifier < identifier)) )) (compound_statement "{\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }" { (expression_statement "uVar13 = 5;" (assignment_expression "uVar13 = 5" identifier = number_literal) ;) (expression_statement "pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5)" identifier = (cast_expression "(char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5)" identifier (argument_list "(0," <%d><%lx>: Abbrev Number: %lu",5)" ( number_literal , (string_literal "" <%d><%lx>: Abbrev Number: %lu"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar18,local_d4,uVar11,iVar7);" (call_expression "printf(pcVar18,local_d4,uVar11,iVar7)" identifier (argument_list "(pcVar18,local_d4,uVar11,iVar7)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "local_70 = local_d4;" (assignment_expression "local_70 = local_d4" identifier = identifier) ;) (expression_statement "iVar22 = 1;" (assignment_expression "iVar22 = 1" identifier = number_literal) ;) }) (else_clause "else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }" else (if_statement "if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }" if (parenthesized_expression "(local_70 < DAT_000b4828)" ( (binary_expression "local_70 < DAT_000b4828" identifier < identifier) )) (compound_statement "{\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }" { (expression_statement "pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5)" identifier = (cast_expression "(char *)dcgettext(0," <%d><%lx>: ...\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," <%d><%lx>: ...\n",5)" identifier (argument_list "(0," <%d><%lx>: ...\n",5)" ( number_literal , (string_literal "" <%d><%lx>: ...\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "uVar13 = uVar11;" (assignment_expression "uVar13 = uVar11" identifier = identifier) ;) (expression_statement "printf(pcVar18,local_d4,uVar11);" (call_expression "printf(pcVar18,local_d4,uVar11)" identifier (argument_list "(pcVar18,local_d4,uVar11)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_70 = local_d4;" (assignment_expression "local_70 = local_d4" identifier = identifier) ;) (expression_statement "iVar22 = 0;" (assignment_expression "iVar22 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }" else (compound_statement "{\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }" { (expression_statement "local_70 = local_d4;" (assignment_expression "local_70 = local_d4" identifier = identifier) ;) (expression_statement "iVar22 = 0;" (assignment_expression "iVar22 = 0" identifier = number_literal) ;) }))))) }) (else_clause "else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }" else (compound_statement "{\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }" { (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" identifier = false) ;) (expression_statement "iVar22 = param_4;" (assignment_expression "iVar22 = param_4" identifier = identifier) ;) }))) (labeled_statement "LAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }" statement_identifier : (if_statement "if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }" if (parenthesized_expression "(DAT_000b9ce4 == (int *)0x0)" ( (binary_expression "DAT_000b9ce4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }" { (labeled_statement "LAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }" statement_identifier : (if_statement "if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }" if (parenthesized_expression "(bVar21)" ( identifier )) (compound_statement "{\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }" { (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (expression_statement "fflush(*(FILE **)PTR_stdout_000b3fd8);" (call_expression "fflush(*(FILE **)PTR_stdout_000b3fd8)" identifier (argument_list "(*(FILE **)PTR_stdout_000b3fd8)" ( (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 "uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);" (assignment_expression "uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5)" identifier = (call_expression "dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5)" identifier (argument_list "(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5)" ( number_literal , (string_literal ""DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar10,uVar11,iVar7);" (call_expression "warn(uVar10,uVar11,iVar7)" identifier (argument_list "(uVar10,uVar11,iVar7)" ( identifier , identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) }))) (expression_statement "iVar1 = *DAT_000b9ce4;" (assignment_expression "iVar1 = *DAT_000b9ce4" identifier = (pointer_expression "*DAT_000b9ce4" * identifier)) ;) (expression_statement "piVar2 = DAT_000b9ce4;" (assignment_expression "piVar2 = DAT_000b9ce4" identifier = identifier) ;) (while_statement "while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }" while (parenthesized_expression "(iVar1 != iVar7)" ( (binary_expression "iVar1 != iVar7" identifier != identifier) )) (compound_statement "{\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }" { (expression_statement "piVar2 = (int *)piVar2[5];" (assignment_expression "piVar2 = (int *)piVar2[5]" identifier = (cast_expression "(int *)piVar2[5]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar2[5]" identifier [ number_literal ]))) ;) (if_statement "if (piVar2 == (int *)0x0) goto LAB_00057dbe;" if (parenthesized_expression "(piVar2 == (int *)0x0)" ( (binary_expression "piVar2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00057dbe;" goto statement_identifier ;)) (expression_statement "iVar1 = *piVar2;" (assignment_expression "iVar1 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) })) (expression_statement "iVar7 = piVar2[1];" (assignment_expression "iVar7 = piVar2[1]" identifier = (subscript_expression "piVar2[1]" identifier [ number_literal ])) ;) (if_statement "if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }" if (parenthesized_expression "(bVar21)" ( identifier )) (compound_statement "{\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }" { (expression_statement "uVar10 = FUN_0004e780();" (assignment_expression "uVar10 = FUN_0004e780()" identifier = (call_expression "FUN_0004e780()" identifier (argument_list "()" ( )))) ;) (expression_statement "printf(" (%s)\n",uVar10,uVar13);" (call_expression "printf(" (%s)\n",uVar10,uVar13)" identifier (argument_list "(" (%s)\n",uVar10,uVar13)" ( (string_literal "" (%s)\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) (expression_statement "iVar7 = piVar2[1];" (assignment_expression "iVar7 = piVar2[1]" identifier = (subscript_expression "piVar2[1]" identifier [ number_literal ])) ;) })) (if_statement "if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }" if (parenthesized_expression "(iVar7 == 0x11)" ( (binary_expression "iVar7 == 0x11" identifier == number_literal) )) (compound_statement "{\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }" { (expression_statement "DAT_000b9d70 = 1;" (assignment_expression "DAT_000b9d70 = 1" identifier = number_literal) ;) (expression_statement "DAT_000b9d4c = param_4;" (assignment_expression "DAT_000b9d4c = param_4" identifier = identifier) ;) }) (else_clause "else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }" else (if_statement "if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }" if (parenthesized_expression "((iVar7 == 0x2e) || (iVar7 == 3))" ( (binary_expression "(iVar7 == 0x2e) || (iVar7 == 3)" (parenthesized_expression "(iVar7 == 0x2e)" ( (binary_expression "iVar7 == 0x2e" identifier == number_literal) )) || (parenthesized_expression "(iVar7 == 3)" ( (binary_expression "iVar7 == 3" identifier == number_literal) ))) )) (compound_statement "{\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }" { (expression_statement "DAT_000b9d70 = 0;" (assignment_expression "DAT_000b9d70 = 0" identifier = number_literal) ;) (expression_statement "DAT_000b9d74 = 0;" (assignment_expression "DAT_000b9d74 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                      DAT_000b9d70 = 0;\n                    }" else (compound_statement "{\n                      DAT_000b9d70 = 0;\n                    }" { (expression_statement "DAT_000b9d70 = 0;" (assignment_expression "DAT_000b9d70 = 0" identifier = number_literal) ;) }))))) (if_statement "if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }" if (parenthesized_expression "(((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0))" ( (binary_expression "((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)" (parenthesized_expression "((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4))" ( (binary_expression "(DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)" (parenthesized_expression "(DAT_000b9d64 == (void *)0x0)" ( (binary_expression "DAT_000b9d64 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(DAT_000b9d68 <= local_a4)" ( (binary_expression "DAT_000b9d68 <= local_a4" identifier <= identifier) ))) )) || (parenthesized_expression "(pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)" ( (comma_expression "pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0" (assignment_expression "pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50)" identifier = (cast_expression "(void *)((int)DAT_000b9d64 + local_a4 * 0x50)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)DAT_000b9d64 + local_a4 * 0x50)" ( (binary_expression "(int)DAT_000b9d64 + local_a4 * 0x50" (cast_expression "(int)DAT_000b9d64" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "local_a4 * 0x50" identifier * number_literal)) )))) , (binary_expression "pvVar19 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }" { (expression_statement "piVar24 = (int *)piVar2[3];" (assignment_expression "piVar24 = (int *)piVar2[3]" identifier = (cast_expression "(int *)piVar2[3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar2[3]" identifier [ number_literal ]))) ;) (if_statement "if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }" if (parenthesized_expression "((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0))" ( (binary_expression "(piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)" (parenthesized_expression "(piVar24 != (int *)0x0)" ( (binary_expression "piVar24 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pvVar19 = (void *)0x0, *piVar24 != 0)" ( (comma_expression "pvVar19 = (void *)0x0, *piVar24 != 0" (assignment_expression "pvVar19 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) , (binary_expression "*piVar24 != 0" (pointer_expression "*piVar24" * identifier) != number_literal)) ))) )) (compound_statement "{\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }" { (labeled_statement "LAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));" statement_identifier : (do_statement "do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));" do (compound_statement "{\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        }" { (if_statement "if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }" if (parenthesized_expression "(bVar21)" ( identifier )) (compound_statement "{\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }" { (expression_statement "printf("    <%lx>",(int)pcVar17 - (int)pcVar15);" (call_expression "printf("    <%lx>",(int)pcVar17 - (int)pcVar15)" identifier (argument_list "("    <%lx>",(int)pcVar17 - (int)pcVar15)" ( (string_literal ""    <%lx>"" " string_content ") , (binary_expression "(int)pcVar17 - (int)pcVar15" (cast_expression "(int)pcVar17" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar15" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) })) (expression_statement "iVar7 = piVar24[2];" (assignment_expression "iVar7 = piVar24[2]" identifier = (subscript_expression "piVar24[2]" identifier [ number_literal ])) ;) (expression_statement "iVar1 = piVar24[3];" (assignment_expression "iVar1 = piVar24[3]" identifier = (subscript_expression "piVar24[3]" identifier [ number_literal ])) ;) (if_statement "if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }" if (parenthesized_expression "(iVar22 == 1 && param_4 == 0)" ( (binary_expression "iVar22 == 1 && param_4 == 0" (binary_expression "iVar22 == 1" identifier == number_literal) && (binary_expression "param_4 == 0" identifier == number_literal)) )) (compound_statement "{\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }" { (expression_statement "uVar10 = FUN_0004e800();" (assignment_expression "uVar10 = FUN_0004e800()" identifier = (call_expression "FUN_0004e800()" identifier (argument_list "()" ( )))) ;) (expression_statement "printf("   %-18s:",uVar10);" (call_expression "printf("   %-18s:",uVar10)" identifier (argument_list "("   %-18s:",uVar10)" ( (string_literal ""   %-18s:"" " string_content ") , identifier ))) ;) (expression_statement "pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);" (assignment_expression "pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20)" identifier = (cast_expression "(char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20)" identifier (argument_list "(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , number_literal , identifier , number_literal , identifier , identifier , number_literal , identifier , identifier , number_literal ))))) ;) (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (expression_statement "piVar24 = (int *)piVar24[4];" (assignment_expression "piVar24 = (int *)piVar24[4]" identifier = (cast_expression "(int *)piVar24[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar24[4]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }" else (compound_statement "{\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }" { (expression_statement "pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);" (assignment_expression "pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20)" identifier = (cast_expression "(char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20)" identifier (argument_list "(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , number_literal , identifier , number_literal , identifier , identifier , number_literal , identifier , identifier , number_literal ))))) ;) (expression_statement "piVar24 = (int *)piVar24[4];" (assignment_expression "piVar24 = (int *)piVar24[4]" identifier = (cast_expression "(int *)piVar24[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar24[4]" identifier [ number_literal ]))) ;) }))) }) while (parenthesized_expression "((piVar24 != (int *)0x0) && (*piVar24 != 0))" ( (binary_expression "(piVar24 != (int *)0x0) && (*piVar24 != 0)" (parenthesized_expression "(piVar24 != (int *)0x0)" ( (binary_expression "piVar24 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*piVar24 != 0)" ( (binary_expression "*piVar24 != 0" (pointer_expression "*piVar24" * identifier) != number_literal) ))) )) ;)) (if_statement "if (pvVar19 != (void *)0x0) goto LAB_00057a88;" if (parenthesized_expression "(pvVar19 != (void *)0x0)" ( (binary_expression "pvVar19 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00057a88;" goto statement_identifier ;)) })) }) (else_clause "else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }" else (compound_statement "{\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }" { (if_statement "if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }" if (parenthesized_expression "(*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40))" ( (binary_expression "*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)" (pointer_expression "*(int *)((int)pvVar19 + 0x38)" * (cast_expression "(int *)((int)pvVar19 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar19 + 0x38)" ( (binary_expression "(int)pvVar19 + 0x38" (cast_expression "(int)pvVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (pointer_expression "*(int *)((int)pvVar19 + 0x40)" * (cast_expression "(int *)((int)pvVar19 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar19 + 0x40)" ( (binary_expression "(int)pvVar19 + 0x40" (cast_expression "(int)pvVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }" { comment (expression_statement "__assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");" (call_expression "__assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info")" identifier (argument_list "("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info")" ( (string_literal ""!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"" " string_content ") , (string_literal ""../../binutils/dwarf.c"" " string_content ") , number_literal , (string_literal ""process_debug_info"" " string_content ") ))) ;) })) (expression_statement "piVar24 = (int *)piVar2[3];" (assignment_expression "piVar24 = (int *)piVar2[3]" identifier = (cast_expression "(int *)piVar2[3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar2[3]" identifier [ number_literal ]))) ;) (if_statement "if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }" if (parenthesized_expression "(piVar24 != (int *)0x0)" ( (binary_expression "piVar24 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }" { (if_statement "if (*piVar24 != 0) goto LAB_000579c3;" if (parenthesized_expression "(*piVar24 != 0)" ( (binary_expression "*piVar24 != 0" (pointer_expression "*piVar24" * identifier) != number_literal) )) (goto_statement "goto LAB_000579c3;" goto statement_identifier ;)) (labeled_statement "LAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);" statement_identifier : (expression_statement "iVar7 = *(int *)((int)pvVar19 + 0x38);" (assignment_expression "iVar7 = *(int *)((int)pvVar19 + 0x38)" identifier = (pointer_expression "*(int *)((int)pvVar19 + 0x38)" * (cast_expression "(int *)((int)pvVar19 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar19 + 0x38)" ( (binary_expression "(int)pvVar19 + 0x38" (cast_expression "(int)pvVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (expression_statement "iVar22 = *(int *)((int)pvVar19 + 0x40);" (assignment_expression "iVar22 = *(int *)((int)pvVar19 + 0x40)" identifier = (pointer_expression "*(int *)((int)pvVar19 + 0x40)" * (cast_expression "(int *)((int)pvVar19 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar19 + 0x40)" ( (binary_expression "(int)pvVar19 + 0x40" (cast_expression "(int)pvVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }" if (parenthesized_expression "(iVar7 - iVar22 == 1)" ( (binary_expression "iVar7 - iVar22 == 1" (binary_expression "iVar7 - iVar22" identifier - identifier) == number_literal) )) (compound_statement "{\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }" { (expression_statement "iVar1 = *(int *)((int)pvVar19 + 0x30);" (assignment_expression "iVar1 = *(int *)((int)pvVar19 + 0x30)" identifier = (pointer_expression "*(int *)((int)pvVar19 + 0x30)" * (cast_expression "(int *)((int)pvVar19 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar19 + 0x30)" ( (binary_expression "(int)pvVar19 + 0x30" (cast_expression "(int)pvVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;" (assignment_expression "*(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff" (pointer_expression "*(undefined4 *)(iVar1 + iVar22 * 8)" * (cast_expression "(undefined4 *)(iVar1 + iVar22 * 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + iVar22 * 8)" ( (binary_expression "iVar1 + iVar22 * 8" identifier + (binary_expression "iVar22 * 8" identifier * number_literal)) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;" (assignment_expression "*(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff" (pointer_expression "*(undefined4 *)(iVar1 + 4 + iVar22 * 8)" * (cast_expression "(undefined4 *)(iVar1 + 4 + iVar22 * 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 4 + iVar22 * 8)" ( (binary_expression "iVar1 + 4 + iVar22 * 8" (binary_expression "iVar1 + 4" identifier + number_literal) + (binary_expression "iVar22 * 8" identifier * number_literal)) )))) = number_literal) ;) (expression_statement "*(int *)((int)pvVar19 + 0x40) = iVar22 + 1;" (assignment_expression "*(int *)((int)pvVar19 + 0x40) = iVar22 + 1" (pointer_expression "*(int *)((int)pvVar19 + 0x40)" * (cast_expression "(int *)((int)pvVar19 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar19 + 0x40)" ( (binary_expression "(int)pvVar19 + 0x40" (cast_expression "(int)pvVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar22 + 1" identifier + number_literal)) ;) (if_statement "if (iVar22 + 1 != iVar7) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }" if (parenthesized_expression "(iVar22 + 1 != iVar7)" ( (binary_expression "iVar22 + 1 != iVar7" (binary_expression "iVar22 + 1" identifier + number_literal) != identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }" { comment (expression_statement "__assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");" (call_expression "__assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info")" identifier (argument_list "("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info")" ( (string_literal ""debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"" " string_content ") , (string_literal ""../../binutils/dwarf.c"" " string_content ") , number_literal , (string_literal ""process_debug_info"" " string_content ") ))) ;) })) }) (else_clause "else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }" else (if_statement "if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }" if (parenthesized_expression "(iVar7 != iVar22)" ( (binary_expression "iVar7 != iVar22" identifier != identifier) )) (compound_statement "{\n                          if (iVar7 - iVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }" { (if_statement "if (iVar7 - iVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }" if (parenthesized_expression "(iVar7 - iVar22 != -1)" ( (binary_expression "iVar7 - iVar22 != -1" (binary_expression "iVar7 - iVar22" identifier - identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }" { comment (expression_statement "__assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");" (call_expression "__assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info")" identifier (argument_list "("0","../../binutils/dwarf.c",0xcab,"process_debug_info")" ( (string_literal ""0"" " string_content ") , (string_literal ""../../binutils/dwarf.c"" " string_content ") , number_literal , (string_literal ""process_debug_info"" " string_content ") ))) ;) })) (expression_statement "uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);" (assignment_expression "uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5)" identifier = (call_expression "dcgettext(0,"DIE has locviews without loclist\n",5)" identifier (argument_list "(0,"DIE has locviews without loclist\n",5)" ( number_literal , (string_literal ""DIE has locviews without loclist\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar10);" (call_expression "warn(uVar10)" identifier (argument_list "(uVar10)" ( identifier ))) ;) (expression_statement "*(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;" (assignment_expression "*(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1" (pointer_expression "*(int *)((int)pvVar19 + 0x40)" * (cast_expression "(int *)((int)pvVar19 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar19 + 0x40)" ( (binary_expression "(int)pvVar19 + 0x40" (cast_expression "(int)pvVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)pvVar19 + 0x40) + -1" (pointer_expression "*(int *)((int)pvVar19 + 0x40)" * (cast_expression "(int *)((int)pvVar19 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar19 + 0x40)" ( (binary_expression "(int)pvVar19 + 0x40" (cast_expression "(int)pvVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) })))) })) }))) (expression_statement "local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);" (assignment_expression "local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0)" identifier = (binary_expression "(local_d4 + 1) - (uint)(piVar2[2] == 0)" (parenthesized_expression "(local_d4 + 1)" ( (binary_expression "local_d4 + 1" identifier + number_literal) )) - (call_expression "(uint)(piVar2[2] == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar2[2] == 0)" ( (binary_expression "piVar2[2] == 0" (subscript_expression "piVar2[2]" identifier [ number_literal ]) == number_literal) ))))) ;) }))) }) while (parenthesized_expression "(pcVar17 < local_f4)" ( (binary_expression "pcVar17 < local_f4" identifier < identifier) )) ;) })) }) (else_clause "else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }" else (compound_statement "{\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }" { (expression_statement "uVar10 = FUN_0004cb50(0);" (assignment_expression "uVar10 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);" (assignment_expression "uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5)" identifier = (call_expression "dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5)" identifier (argument_list "(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5)" ( number_literal , (string_literal ""CU at offset %s contains corrupt or unsupported unit type: %d.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar14,uVar10,local_b4);" (call_expression "warn(uVar14,uVar10,local_b4)" identifier (argument_list "(uVar14,uVar10,local_b4)" ( identifier , identifier , identifier ))) ;) }))) }) (else_clause "else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }" else (compound_statement "{\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }" { (expression_statement "uVar10 = FUN_0004cb50(0);" (assignment_expression "uVar10 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);" (assignment_expression "uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5)" identifier = (call_expression "dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5)" identifier (argument_list "(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5)" ( number_literal , (string_literal ""CU at offset %s contains corrupt or unsupported version number: %d.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar14,uVar10,local_e2);" (call_expression "warn(uVar14,uVar10,local_e2)" identifier (argument_list "(uVar14,uVar10,local_e2)" ( identifier , identifier , identifier ))) ;) }))) }))) (labeled_statement "LAB_00056ae6:\n        local_a4 = local_a4 + 1;" statement_identifier : (expression_statement "local_a4 = local_a4 + 1;" (assignment_expression "local_a4 = local_a4 + 1" identifier = (binary_expression "local_a4 + 1" identifier + number_literal)) ;)) }) while (parenthesized_expression "(local_f4 < pcVar25)" ( (binary_expression "local_f4 < pcVar25" identifier < identifier) )) ;) (if_statement "if (param_4 != 0) goto LAB_00057752;" if (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00057752;" goto statement_identifier ;)) })) (if_statement "if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0))\n    goto LAB_00056b59;" if (parenthesized_expression "((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0))" ( (binary_expression "(DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0)" (parenthesized_expression "(DAT_000b9d90 == 0 && DAT_000b9db4 == 0)" ( (binary_expression "DAT_000b9d90 == 0 && DAT_000b9db4 == 0" (binary_expression "DAT_000b9d90 == 0" identifier == number_literal) && (binary_expression "DAT_000b9db4 == 0" identifier == number_literal)) )) || (parenthesized_expression "(param_5 != 0 || DAT_000b9d6c != 0)" ( (binary_expression "param_5 != 0 || DAT_000b9d6c != 0" (binary_expression "param_5 != 0" identifier != number_literal) || (binary_expression "DAT_000b9d6c != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_00056b59;" goto statement_identifier ;)) }) (else_clause "else {\n    if (param_5 == 0 && DAT_000b9d6c == 0) goto LAB_00056b86;\n    FUN_0004e130();\n    if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n    local_90 = 0;\n    if (pcVar15 < pcVar25) goto LAB_0005662b;\nLAB_00057752:\n    if (param_5 != 0 || DAT_000b9d6c != 0) {\n      return 1;\n    }\n  }" else (compound_statement "{\n    if (param_5 == 0 && DAT_000b9d6c == 0) goto LAB_00056b86;\n    FUN_0004e130();\n    if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n    local_90 = 0;\n    if (pcVar15 < pcVar25) goto LAB_0005662b;\nLAB_00057752:\n    if (param_5 != 0 || DAT_000b9d6c != 0) {\n      return 1;\n    }\n  }" { (if_statement "if (param_5 == 0 && DAT_000b9d6c == 0) goto LAB_00056b86;" if (parenthesized_expression "(param_5 == 0 && DAT_000b9d6c == 0)" ( (binary_expression "param_5 == 0 && DAT_000b9d6c == 0" (binary_expression "param_5 == 0" identifier == number_literal) && (binary_expression "DAT_000b9d6c == 0" identifier == number_literal)) )) (goto_statement "goto LAB_00056b86;" goto statement_identifier ;)) (expression_statement "FUN_0004e130();" (call_expression "FUN_0004e130()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;" if (parenthesized_expression "(*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0)" ( (binary_expression "*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0" (pointer_expression "*(int *)(&DAT_000b4850 + param_3 * 0x40)" * (cast_expression "(int *)(&DAT_000b4850 + param_3 * 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_000b4850 + param_3 * 0x40)" ( (binary_expression "&DAT_000b4850 + param_3 * 0x40" (pointer_expression "&DAT_000b4850" & identifier) + (binary_expression "param_3 * 0x40" identifier * number_literal)) )))) == number_literal) )) (goto_statement "goto LAB_00057bf6;" goto statement_identifier ;)) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (if_statement "if (pcVar15 < pcVar25) goto LAB_0005662b;" if (parenthesized_expression "(pcVar15 < pcVar25)" ( (binary_expression "pcVar15 < pcVar25" identifier < identifier) )) (goto_statement "goto LAB_0005662b;" goto statement_identifier ;)) (labeled_statement "LAB_00057752:\n    if (param_5 != 0 || DAT_000b9d6c != 0) {\n      return 1;\n    }" statement_identifier : (if_statement "if (param_5 != 0 || DAT_000b9d6c != 0) {\n      return 1;\n    }" if (parenthesized_expression "(param_5 != 0 || DAT_000b9d6c != 0)" ( (binary_expression "param_5 != 0 || DAT_000b9d6c != 0" (binary_expression "param_5 != 0" identifier != number_literal) || (binary_expression "DAT_000b9d6c != 0" identifier != number_literal)) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) }))) }))) (expression_statement "DAT_000b9d6c = DAT_000b9d68;" (assignment_expression "DAT_000b9d6c = DAT_000b9d68" identifier = identifier) ;) (if_statement "if (local_90 <= DAT_000b9d68) {\n    DAT_000b9d6c = local_90;\n  }" if (parenthesized_expression "(local_90 <= DAT_000b9d68)" ( (binary_expression "local_90 <= DAT_000b9d68" identifier <= identifier) )) (compound_statement "{\n    DAT_000b9d6c = local_90;\n  }" { (expression_statement "DAT_000b9d6c = local_90;" (assignment_expression "DAT_000b9d6c = local_90" identifier = identifier) ;) })) (if_statement "if (param_4 != 0) {\n    return 1;\n  }" if (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) )) (compound_statement "{\n    return 1;\n  }" { (return_statement "return 1;" return number_literal ;) })) (labeled_statement "LAB_00056b59:\n  putchar(10);" statement_identifier : (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;)) (return_statement "return 1;" return number_literal ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Type propagation algorithm not settling */\n\nbfd_boolean __regparm3\nprocess_debug_info(dwarf_section *section,void *file,dwarf_section_display_enum abbrev_sec,\n                  bfd_boolean do_loc,bfd_boolean do_types)\n\n{\n  uchar *puVar1;\n  uint uVar2;\n  ulong uVar3;\n  abbrev_entry *paVar4;\n  undefined *puVar5;\n  dwarf_vma *pdVar6;\n  dwarf_signed_vma implicit_const;\n  int iVar7;\n  byte bVar8;\n  dwarf_section *pdVar9;\n  uint uVar10;\n  int iVar11;\n  dwarf_section *pdVar12;\n  char *pcVar13;\n  uint uVar14;\n  ulong uVar15;\n  uchar *puVar16;\n  char *pcVar17;\n  uchar *puVar18;\n  char *pcVar19;\n  bool bVar20;\n  dwarf_section *section_1;\n  int iVar21;\n  uint uVar22;\n  uchar *puVar23;\n  debug_info *pdVar24;\n  abbrev_attr *paVar25;\n  uchar *end;\n  cu_tu_set *this_set;\n  elf_vma eVar26;\n  elf_vma eVar27;\n  dwarf_vma dVar28;\n  char *in_stack_fffffee8;\n  uchar *puVar29;\n  undefined8 local_104;\n  uchar *local_f4;\n  dwarf_section *local_f0;\n  undefined8 local_ec;\n  ushort local_e2;\n  dwarf_section *local_d4;\n  uint local_cc;\n  ulonglong local_bc;\n  int local_b4;\n  dwarf_section *local_b0;\n  dwarf_section *local_ac;\n  uint local_a4;\n  uint local_a0;\n  uint local_9c;\n  int local_98;\n  uint local_90;\n  dwarf_section *local_78;\n  dwarf_section *local_70;\n  dwarf_vma signature_high;\n  dwarf_vma signature_low;\n  char buf [64];\n  \n  puVar1 = section->start;\n  end = puVar1 + (int)section->size;\n  if (do_loc == 0) {\n    if ((do_debug_loc == 0 && do_debug_ranges == 0) ||\n       (do_types != 0 || num_debug_info_entries != 0)) {\n      local_90 = 0;\n    }\n    else {\nLAB_00056b86:\n      local_90 = 0;\n      puVar29 = puVar1;\n      if (end <= puVar1) {\nLAB_00057e2b:\n        pcVar13 = section->name;\n        pcVar17 = (char *)dcgettext(0,"No comp units in %s section ?\n",5);\n        error(pcVar17,pcVar13);\n        return 0;\n      }\n      do {\n        puVar18 = puVar29 + 4;\n        if (end <= puVar18) {\n          pdVar12 = (dwarf_section *)(end + -(int)puVar29);\n          pdVar9 = (dwarf_section *)in_stack_fffffee8;\n          if ((undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)\n          goto LAB_000570ed;\nLAB_00056bdb:\n          in_stack_fffffee8 = (char *)pdVar9;\n          uVar10 = 0;\nLAB_00056bdf:\n          pcVar17 = section->name;\n          pcVar19 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n          pcVar13 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          pcVar13 = (char *)dcgettext(0,pcVar13,5);\n          warn(pcVar13,pcVar19,pcVar17);\n          return 0;\n        }\n        pdVar12 = (dwarf_section *)0x4;\nLAB_000570ed:\n        eVar26 = (*byte_get)(puVar29,(int)pdVar12);\n        uVar10 = (uint)eVar26;\n        if (eVar26 == 0xffffffff) {\n          if (puVar29 + 0xc < end) {\n            in_stack_fffffee8 = (char *)0x8;\n          }\n          else {\n            pdVar9 = pdVar12;\n            if ((end <= puVar18) ||\n               (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n               (undefined1 *)0x7 <\n               (undefined1 *)\n               ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U)))\n            goto LAB_00056bdb;\n          }\n          eVar26 = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n          uVar10 = (uint)eVar26;\n          puVar29 = puVar29 + uVar10 + 0xc;\n          bVar20 = puVar29 < puVar1 || (int)uVar10 < 1;\n        }\n        else {\n          local_104._4_4_ = (int)(eVar26 - 0xfffffff0 >> 0x20);\n          if (local_104._4_4_ == 0 && (uint)(0xe < (uint)local_104) <= (uint)-local_104._4_4_) {\n            pcVar17 = section->name;\n            pcVar19 = dwarf_vmatoa_1("x",ZEXT48(pdVar12) << 0x20,uVar10);\n            pcVar13 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          puVar29 = puVar29 + uVar10 + 4;\n          bVar20 = (int)uVar10 < 1 || puVar29 < puVar1;\n          in_stack_fffffee8 = (char *)pdVar12;\n          local_104 = eVar26 - 0xfffffff0;\n        }\n        if (bVar20) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      } while (puVar29 < end);\n      if (local_90 == 0) goto LAB_00057e2b;\n      if (0x3333332 < local_90) {\n        debug_information = (debug_info *)0x0;\n        pcVar13 = (char *)dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(pcVar13,local_90);\n        alloc_num_debug_info_entries = 0;\n        num_debug_info_entries = 0;\n        return 0;\n      }\n      debug_information = (debug_info *)xmalloc(local_90 * 0x50);\n      in_stack_fffffee8 = (char *)0x0;\n      memset(debug_information,0,local_90 * 0x50);\n      alloc_num_debug_info_entries = local_90;\n      if (do_loc != 0) {\n        puVar29 = (uchar *)0x571d3;\n        load_debug_section_with_follow(abbrev_sec,file);\n        if (*(int *)(&DAT_000b4850 + abbrev_sec * 0x40) == 0) goto LAB_00057bf6;\n        do_types = 0;\n        goto LAB_0005662b;\n      }\n    }\n    load_debug_section_with_follow(str,file);\n    load_debug_section_with_follow(line_str,file);\n    load_debug_section_with_follow(str_dwo,file);\n    load_debug_section_with_follow(str_index,file);\n    load_debug_section_with_follow(str_index_dwo,file);\n    load_debug_section_with_follow(debug_addr,file);\n    puVar29 = (uchar *)0x565e3;\n    load_debug_section_with_follow(abbrev_sec,file);\n    if (*(int *)(&DAT_000b4850 + abbrev_sec * 0x40) == 0) {\nLAB_00057bf6:\n      puVar5 = (&debug_displays)[abbrev_sec * 0x10];\n      pcVar13 = (char *)dcgettext(0,"Unable to locate %s section!\n",5);\n      warn(pcVar13,puVar5);\n      return 0;\n    }\n    if (dwarf_start_die == 0) {\n      puVar29 = (uchar *)0x57d63;\n      introduce((dwarf_section *)section->name,(bfd_boolean)&section->filename,section_1);\n    }\n    if (puVar1 < end) {\nLAB_0005662b:\n      local_a4 = 0;\n      local_f4 = puVar1;\n      do {\n        signature_high._0_4_ = (char *)0x0;\n        signature_high._4_4_ = 0;\n        signature_low._0_4_ = 0;\n        puVar18 = local_f4 + 4;\n        signature_low._4_4_ = 0;\n        puVar16 = puVar18;\n        if (puVar18 < end) {\n          pdVar9 = (dwarf_section *)0x4;\nLAB_00056d25:\n          local_ec = (*byte_get)(local_f4,(int)pdVar9);\n          if (local_ec == 0xffffffff) {\n            puVar16 = local_f4 + 0xc;\n            if (puVar16 < end) {\n              in_stack_fffffee8 = (char *)0x8;\n            }\n            else if ((end <= puVar18) ||\n                    (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n                    (undefined1 *)0x7 <\n                    (undefined1 *)\n                    ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U))) {\n              local_cc = 0xc;\n              puVar23 = local_f4 + 0xe;\n              local_d4 = (dwarf_section *)0xc;\n              local_f0 = (dwarf_section *)0x8;\n              in_stack_fffffee8 = (char *)pdVar9;\n              goto joined_r0x00056d9b;\n            }\n            puVar23 = local_f4 + 0xe;\n            local_ec = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n            local_cc = 0xc;\n            local_d4 = (dwarf_section *)0xc;\n            local_f0 = (dwarf_section *)0x8;\n          }\n          else {\n            puVar23 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = (dwarf_section *)0x4;\n            local_f0 = (dwarf_section *)0x4;\n            in_stack_fffffee8 = (char *)pdVar9;\n          }\n          if (puVar23 < end) {\n            pdVar9 = (dwarf_section *)0x2;\n          }\n          else if ((end <= puVar16) ||\n                  (pdVar9 = (dwarf_section *)(end + -(int)puVar16),\n                  (undefined1 *)0x7 < (undefined1 *)((int)&pdVar9[-1].user_data + 3U)))\n          goto LAB_00056db1;\nLAB_000566e9:\n          eVar26 = (*byte_get)(puVar16,(int)pdVar9);\n          local_e2 = (ushort)eVar26;\n          in_stack_fffffee8 = (char *)pdVar9;\n        }\n        else {\n          pdVar9 = (dwarf_section *)(end + -(int)local_f4);\n          if ((undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8)\n          goto LAB_00056d25;\n          local_cc = 4;\n          puVar23 = local_f4 + 6;\n          local_d4 = (dwarf_section *)0x4;\n          local_f0 = (dwarf_section *)0x4;\njoined_r0x00056d9b:\n          if (puVar23 < end) {\n            pdVar9 = (dwarf_section *)0x2;\n            local_ec = 0;\n            goto LAB_000566e9;\n          }\n          local_ec = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }\n        uVar10 = (int)local_f4 - (int)puVar1;\n        iVar11 = (int)uVar10 >> 0x1f;\n        if (do_types == 0) {\n          iVar21 = 1;\n          iVar7 = cu_count;\n          this_set = cu_sets;\n        }\n        else {\n          iVar21 = 2;\n          iVar7 = tu_count;\n          this_set = tu_sets;\n        }\n        for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (iVar11 == *(int *)((int)this_set->section_offsets + iVar21 * 8 + 4) &&\n              uVar10 == (uint)this_set->section_offsets[iVar21]) goto joined_r0x0005676e;\n          this_set = this_set + 1;\n        }\n        this_set = (cu_tu_set *)0x0;\njoined_r0x0005676e:\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar8 = 0xff;\n          pdVar9 = (dwarf_section *)in_stack_fffffee8;\njoined_r0x000567df:\n          puVar18 = puVar23 + (int)local_f0;\n          in_stack_fffffee8 = (char *)local_f0;\n          if ((puVar18 < end) ||\n             ((puVar23 < end &&\n              (in_stack_fffffee8 = (char *)(end + -(int)puVar23),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar23))[-1].user_data + 3U) <\n              (undefined1 *)0x8)))) goto LAB_00056caa;\nLAB_000567f7:\n          eVar26 = 0;\n          in_stack_fffffee8 = (char *)pdVar9;\n          eVar27 = 0;\n          if (this_set != (cu_tu_set *)0x0) goto LAB_0005680f;\nLAB_00056cce:\n          eVar26 = eVar27;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(dwarf_section **)(&DAT_000b485c + abbrev_sec * 0x40);\n        }\n        else {\n          puVar18 = puVar16 + 3;\n          if (puVar18 < end) {\n            pdVar9 = (dwarf_section *)0x1;\nLAB_00057245:\n            eVar26 = (*byte_get)(puVar23,(int)pdVar9);\n            local_b4 = (int)eVar26;\n            do_types = (bfd_boolean)(local_b4 == 2);\n            pdVar12 = (dwarf_section *)0x1;\n            if ((puVar16 + 4 < end) ||\n               ((puVar18 < end &&\n                (pdVar12 = (dwarf_section *)(end + -(int)puVar18),\n                (undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)))) {\nLAB_000567c4:\n              puVar23 = puVar16 + 4;\n              eVar26 = (*byte_get)(puVar18,(int)pdVar12);\n              bVar8 = (byte)eVar26;\n              pdVar9 = pdVar12;\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((puVar23 < end) &&\n               (pdVar9 = (dwarf_section *)(end + -(int)puVar23),\n               (undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8))\n            goto LAB_00057245;\n            do_types = 0;\n            local_b4 = 0;\n            pdVar9 = (dwarf_section *)in_stack_fffffee8;\n            if (puVar16 + 4 < end) {\n              pdVar12 = (dwarf_section *)0x1;\n              goto LAB_000567c4;\n            }\n          }\n          puVar23 = puVar16 + 4;\n          bVar8 = 0;\n          puVar18 = puVar23 + (int)local_f0;\n          in_stack_fffffee8 = (char *)local_f0;\n          if (end <= puVar18) goto LAB_000567f7;\nLAB_00056caa:\n          eVar26 = (*byte_get)(puVar23,(int)in_stack_fffffee8);\n          eVar27 = eVar26;\n          if (this_set == (cu_tu_set *)0x0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = (uint)this_set->section_offsets[3];\n          local_98 = *(int *)((int)this_set->section_offsets + 0x1c);\n          local_ac = (dwarf_section *)this_set->section_sizes[3];\n        }\n        puVar16 = puVar18;\n        if (local_e2 < 5) {\n          puVar16 = puVar18 + 1;\n          if (puVar16 < end) {\n            in_stack_fffffee8 = (char *)0x1;\nLAB_00056c35:\n            eVar27 = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n            bVar8 = (byte)eVar27;\n            goto LAB_00056c57;\n          }\n          if ((puVar18 < end) &&\n             (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n             (undefined1 *)\n             ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U) <\n             (undefined1 *)0x8)) goto LAB_00056c35;\n          in_stack_fffffee8 = (char *)0x0;\nLAB_00056853:\n          pcVar13 = (char *)dcgettext(0,\n                                      "Invalid pointer size (%d) in compunit header, using %d instead\n"\n                                      ,5);\n          warn(pcVar13,in_stack_fffffee8,local_f0);\n          bVar8 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar8 - 2)) {\n            in_stack_fffffee8 = (char *)(uint)bVar8;\n            goto LAB_00056853;\n          }\n        }\n        local_bc._0_4_ = 0;\n        if (do_types != 0) {\n          puVar18 = puVar16 + 8;\n          if (end < puVar18) {\n            signature_high._0_4_ = (char *)0x0;\n            signature_high._4_4_ = 0;\n            signature_low._0_4_ = 0;\n            signature_low._4_4_ = 0;\n          }\n          else {\n            in_stack_fffffee8 = (char *)&signature_high;\n            byte_get_64(puVar16,(elf_vma *)in_stack_fffffee8,&signature_low);\n          }\n          puVar16 = puVar18 + (int)local_f0;\n          pdVar9 = local_f0;\n          if ((puVar16 < end) ||\n             ((local_bc._0_4_ = 0, puVar18 < end &&\n              (pdVar9 = (dwarf_section *)(end + -(int)puVar18),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar18))[-1].user_data + 3U) <\n              (undefined1 *)0x8)))) {\n            eVar27 = (*byte_get)(puVar18,(int)pdVar9);\n            local_bc._0_4_ = (uint)eVar27;\n            in_stack_fffffee8 = (char *)pdVar9;\n          }\n        }\n        uVar15 = dwarf_start_die;\n        local_a0 = (uint)(eVar26 >> 0x20);\n        local_b0 = (dwarf_section *)eVar26;\n        uVar14 = (int)local_d4 + uVar10;\n        if (local_ec._4_4_ + (uint)CARRY4(local_cc,(uint)local_ec) + iVar11 +\n            (uint)CARRY4(local_cc + (uint)local_ec,uVar10) <\n            (uint)(local_cc + (uint)local_ec + uVar10 < dwarf_start_die)) {\n          local_f4 = puVar1 + uVar14 + (uint)local_ec;\n        }\n        else {\n          if (do_loc == 0) {\n            if ((do_debug_loc != 0 || do_debug_ranges != 0) && (num_debug_info_entries == 0)) {\nLAB_00056993:\n              if (do_types == 0) {\n                pdVar24 = debug_information + local_a4;\n                pdVar24->pointer_size = (uint)bVar8;\n                *(int *)((int)&pdVar24->cu_offset + 4) = iVar11;\n                *(uint *)&pdVar24->cu_offset = uVar10;\n                pdVar24->offset_size = (uint)local_f0;\n                pdVar24->dwarf_version = (uint)local_e2;\n                *(undefined4 *)&pdVar24->base_address = 0;\n                *(undefined4 *)((int)&pdVar24->base_address + 4) = 0;\n                *(undefined4 *)&pdVar24->addr_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->addr_base + 4) = 0;\n                *(undefined4 *)&pdVar24->ranges_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->ranges_base + 4) = 0;\n                pdVar24->loc_offsets = (dwarf_vma *)0x0;\n                pdVar24->have_frame_base = (int *)0x0;\n                pdVar24->max_loc_offsets = 0;\n                pdVar24->num_loc_offsets = 0;\n                pdVar24->range_lists = (dwarf_vma *)0x0;\n                pdVar24->max_range_lists = 0;\n                pdVar24->num_range_lists = 0;\n              }\n              if (do_loc != 0) goto LAB_00056a44;\n            }\n            if (uVar15 == 0) {\n              pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n              pcVar13 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar13);\n              pcVar13 = "64-bit";\n              if (local_f0 != (dwarf_section *)0x8) {\n                pcVar13 = "32-bit";\n              }\n              pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar17) << 0x20,(uint)local_ec);\n              pcVar19 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar19,pcVar17,pcVar13);\n              pcVar13 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              uVar22 = (uint)local_e2;\n              printf(pcVar13);\n              pcVar13 = dwarf_vmatoa_1("x",(ulonglong)uVar22 << 0x20,(uint)local_b0);\n              pcVar17 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar17,pcVar13);\n              pcVar13 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              in_stack_fffffee8 = (char *)(uint)bVar8;\n              printf(pcVar13);\n              if (do_types != 0) {\n                pcVar13 = dwarf_vmatoa64(CONCAT44(signature_low._4_4_,(undefined4)signature_low),\n                                         CONCAT44(puVar29,buf),(char *)signature_high,\n                                         signature_high._4_4_);\n                pcVar17 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar17);\n                in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)local_bc);\n                pcVar13 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar13);\n              }\n              if (this_set != (cu_tu_set *)0x0) {\n                pcVar13 = "   Section contributions:\n";\n                pcVar17 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[3]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[3]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[4]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[4]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[5]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[5]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[6]);\n                in_stack_fffffee8 =\n                     dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)this_set->section_offsets[6]);\n                pcVar13 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar13,in_stack_fffffee8,pcVar17);\n              }\n            }\n          }\n          else if (num_debug_info_entries == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar22 = local_ec._4_4_ + (uint)CARRY4((uint)local_ec,uVar14);\n          if ((uVar22 < ((uint)local_ec + uVar14 < uVar14)) ||\n             (uVar2 = *(uint *)((int)&section->size + 4),\n             uVar2 < uVar22 ||\n             uVar2 - uVar22 < (uint)((uint)section->size < (uint)local_ec + uVar14))) {\n            pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,(uint)local_ec);\n            pcVar13 = section->name;\n            pcVar19 = (char *)dcgettext(0,\n                                        "Debug info is corrupted, %s header at %#lx has length %s\n"\n                                        ,5);\n            warn(pcVar19,pcVar13,uVar10,pcVar17);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + (int)local_d4 + (uint)local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              puVar29 = (uchar *)0x572c5;\n              free_abbrevs();\n              if (local_a0 < (local_b0 < local_ac)) {\n                iVar11 = abbrev_sec * 0x40;\n                pcVar13 = *(char **)(&DAT_000b485c + iVar11);\n                pdVar9 = (dwarf_section *)((int)&local_ac->uncompressed_name + local_9c);\n                uVar14 = local_98 + (uint)CARRY4((uint)local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + iVar11) < uVar14 ||\n                    *(uint *)(&DAT_000b4860 + iVar11) - uVar14 <\n                    (uint)(pcVar13 < (char *)((int)&local_ac->uncompressed_name + local_9c))) {\n                  pcVar17 = (char *)dcgettext(0,\n                                              "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                              ,5);\n                  warn(pcVar17,pdVar9,pcVar13);\n                  in_stack_fffffee8 = (char *)pdVar9;\n                }\n                else if (first_abbrev == (abbrev_entry *)0x0) {\n                  puVar29 = (uchar *)0x57341;\n                  process_abbrev_section\n                            ((uchar *)((int)&local_b0->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11) + local_9c),\n                             (uchar *)((int)&pdVar9->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11)));\n                }\n              }\n              else {\n                pcVar13 = (char *)dcgettext(0,\n                                            "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                            ,5);\n                warn(pcVar13,local_b0,local_ac);\n                in_stack_fffffee8 = (char *)local_b0;\n              }\n              if (puVar16 < local_f4) {\n                local_78 = (dwarf_section *)0xffffffff;\n                local_70 = (dwarf_section *)0x0;\n                local_d4 = (dwarf_section *)0x0;\n                do {\n                  pdVar12 = (dwarf_section *)(puVar16 + -(int)puVar1);\n                  pdVar9 = (dwarf_section *)0x0;\n                  in_stack_fffffee8 = buf;\n                  puVar29 = local_f4;\n                  dVar28 = read_leb128(puVar16,(uint *)buf,0,local_f4);\n                  uVar15 = (ulong)dVar28;\n                  puVar16 = puVar16 + buf._0_4_;\n                  if (uVar15 == 0) {\n                    if ((local_d4 == (dwarf_section *)0x0) && (end == local_f4)) {\n                      puVar18 = puVar16;\n                      if (puVar16 < local_f4) {\n                        while (*puVar18 == '\0') {\n                          puVar18 = puVar18 + 1;\n                          if (local_f4 == puVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == puVar16) break;\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         ((0 < dwarf_cutoff_level || (dwarf_cutoff_level == -1)))) {\n                        pdVar9 = (dwarf_section *)0xffffffff;\nLAB_00057496:\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar13,local_d4,pdVar12);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        if (-1 < (int)pdVar9) goto LAB_00057428;\n                      }\n                      else {\n                        pdVar9 = (dwarf_section *)0xffffffff;\n                        local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      }\nLAB_000574d0:\n                      in_stack_fffffee8 = (char *)local_d4;\n                      if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                          lexical_block_12_26_8::num_bogus_warns < 3) {\n                        pcVar13 = section->name;\n                        pcVar17 = (char *)dcgettext(0,\n                                                  "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                                  ,5);\n                        warn(pcVar17,pdVar12,pcVar13);\n                        process_debug_info::lexical_block_12::lexical_block_12_26::\n                        lexical_block_12_26_8::num_bogus_warns =\n                             process_debug_info::lexical_block_12::lexical_block_12_26::\n                             lexical_block_12_26_8::num_bogus_warns + 1;\n                        in_stack_fffffee8 = (char *)pdVar12;\n                        if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                            lexical_block_12_26_8::num_bogus_warns == 3) {\n                          in_stack_fffffee8 =\n                               "Further warnings about bogus end-of-sibling markers suppressed\n";\n                          pcVar13 = (char *)dcgettext(0,\n                                                  "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                                  ,5);\n                          warn(pcVar13);\n                        }\n                      }\n                    }\n                    else {\n                      pdVar9 = (dwarf_section *)((int)&local_d4[-1].user_data + 3);\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         (((int)local_d4 < dwarf_cutoff_level || (dwarf_cutoff_level == -1))))\n                      goto LAB_00057496;\n                      local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      if ((int)pdVar9 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = pdVar9;\n                    if ((dwarf_start_die != 0) && ((int)pdVar9 < (int)local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (do_loc == 0) {\n                      if (dwarf_start_die != 0) {\n                        if (pdVar12 < dwarf_start_die) {\n                          bVar20 = false;\n                          iVar11 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if ((dwarf_section *)dwarf_start_die == pdVar12) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar20 = dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level;\n                      if (dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level) {\n                        in_stack_fffffee8 = " <%d><%lx>: Abbrev Number: %lu";\n                        pdVar9 = (dwarf_section *)0x5;\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar13,local_d4,pdVar12,uVar15);\n                        local_70 = local_d4;\n                        iVar11 = 1;\n                      }\n                      else if ((int)local_70 < dwarf_cutoff_level) {\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        pdVar9 = pdVar12;\n                        printf(pcVar13,local_d4,pdVar12);\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                    }\n                    else {\n                      bVar20 = false;\n                      iVar11 = do_loc;\n                    }\nLAB_0005783c:\n                    if (first_abbrev == (abbrev_entry *)0x0) {\nLAB_00057dbe:\n                      if (bVar20) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      pcVar13 = (char *)dcgettext(0,\n                                                  "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                                  ,5);\n                      warn(pcVar13,pdVar12,uVar15);\n                      return 0;\n                    }\n                    uVar3 = first_abbrev->entry;\n                    paVar4 = first_abbrev;\n                    while (uVar3 != uVar15) {\n                      paVar4 = paVar4->next;\n                      if (paVar4 == (abbrev_entry *)0x0) goto LAB_00057dbe;\n                      uVar3 = paVar4->entry;\n                    }\n                    uVar15 = paVar4->tag;\n                    if (bVar20) {\n                      puVar29 = (uchar *)0x57bcc;\n                      in_stack_fffffee8 = get_TAG_name(uVar15);\n                      printf(" (%s)\n",in_stack_fffffee8,pdVar9);\n                      uVar15 = paVar4->tag;\n                    }\n                    if (uVar15 == 0x11) {\n                      need_base_address = 1;\n                      need_dwo_info = do_loc;\n                    }\n                    else if ((uVar15 == 0x2e) || (uVar15 == 3)) {\n                      need_base_address = 0;\n                      have_frame_base = 0;\n                    }\n                    else {\n                      need_base_address = 0;\n                    }\n                    if (((debug_information == (debug_info *)0x0) ||\n                        (alloc_num_debug_info_entries <= local_a4)) ||\n                       (pdVar24 = debug_information + local_a4, pdVar24 == (debug_info *)0x0)) {\n                      paVar25 = paVar4->first_attr;\n                      if ((paVar25 != (abbrev_attr *)0x0) &&\n                         (pdVar24 = (debug_info *)0x0, paVar25->attribute != 0)) {\nLAB_000578fa:\n                        local_bc = ZEXT48(local_f0);\n                        do {\n                          if (bVar20) {\n                            printf("    <%lx>",(int)puVar16 - (int)puVar1);\n                          }\n                          uVar15 = paVar25->form;\n                          implicit_const = paVar25->implicit_const;\n                          uVar3 = paVar25->attribute;\n                          if (iVar11 == 1 && do_loc == 0) {\n                            puVar29 = (uchar *)0x579ff;\n                            in_stack_fffffee8 = get_AT_name(uVar3);\n                            printf("   %-18s:");\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,\n                                                 ' ');\n                            putchar(10);\n                            paVar25 = paVar25->next;\n                          }\n                          else {\n                            puVar29 = (uchar *)0x20;\n                            in_stack_fffffee8 = (char *)section;\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ');\n                            paVar25 = paVar25->next;\n                          }\n                        } while ((paVar25 != (abbrev_attr *)0x0) && (paVar25->attribute != 0));\n                        if (pdVar24 != (debug_info *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (pdVar24->num_loc_offsets != pdVar24->num_loc_views) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      paVar25 = paVar4->first_attr;\n                      if (paVar25 != (abbrev_attr *)0x0) {\n                        if (paVar25->attribute != 0) goto LAB_000578fa;\nLAB_00057a88:\n                        uVar14 = pdVar24->num_loc_offsets;\n                        uVar22 = pdVar24->num_loc_views;\n                        if (uVar14 - uVar22 == 1) {\n                          pdVar6 = pdVar24->loc_views;\n                          *(undefined4 *)(pdVar6 + uVar22) = 0xffffffff;\n                          *(undefined4 *)((int)pdVar6 + uVar22 * 8 + 4) = 0xffffffff;\n                          pdVar24->num_loc_views = uVar22 + 1;\n                          if (uVar22 + 1 != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (uVar14 != uVar22) {\n                          if (uVar14 - uVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          in_stack_fffffee8 = "DIE has locviews without loclist\n";\n                          pcVar13 = (char *)dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(pcVar13);\n                          pdVar24->num_loc_views = pdVar24->num_loc_views - 1;\n                        }\n                      }\n                    }\n                    local_d4 = (dwarf_section *)\n                               ((int)&local_d4->uncompressed_name + (uint)(paVar4->children != 0));\n                  }\n                } while (puVar16 < local_f4);\n              }\n            }\n            else {\n              in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n              pcVar13 = (char *)dcgettext(0,\n                                          "CU at offset %s contains corrupt or unsupported unit type: %d.\n"\n                                          ,5);\n              warn(pcVar13,in_stack_fffffee8,local_b4);\n            }\n          }\n          else {\n            in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n            pcVar13 = (char *)dcgettext(0,\n                                        "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                                        ,5);\n            warn(pcVar13,in_stack_fffffee8,(uint)local_e2);\n          }\n        }\nLAB_00056ae6:\n        local_a4 = local_a4 + 1;\n      } while (local_f4 < end);\n      if (do_loc != 0) goto LAB_00057752;\n    }\n    if ((do_debug_loc == 0 && do_debug_ranges == 0) ||\n       (do_types != 0 || num_debug_info_entries != 0)) goto LAB_00056b59;\n  }\n  else {\n    if (do_types == 0 && num_debug_info_entries == 0) goto LAB_00056b86;\n    puVar29 = (uchar *)0x5770c;\n    load_debug_section_with_follow(abbrev_sec,file);\n    if (*(int *)(&DAT_000b4850 + abbrev_sec * 0x40) == 0) goto LAB_00057bf6;\n    local_90 = 0;\n    if (puVar1 < end) goto LAB_0005662b;\nLAB_00057752:\n    if (do_types != 0 || num_debug_info_entries != 0) {\n      return 1;\n    }\n  }\n  num_debug_info_entries = alloc_num_debug_info_entries;\n  if (local_90 <= alloc_num_debug_info_entries) {\n    num_debug_info_entries = local_90;\n  }\n  if (do_loc != 0) {\n    return 1;\n  }\nLAB_00056b59:\n  putchar(10);\n  return 1;\n}\n\n" comment comment (function_definition "bfd_boolean __regparm3\nprocess_debug_info(dwarf_section *section,void *file,dwarf_section_display_enum abbrev_sec,\n                  bfd_boolean do_loc,bfd_boolean do_types)\n\n{\n  uchar *puVar1;\n  uint uVar2;\n  ulong uVar3;\n  abbrev_entry *paVar4;\n  undefined *puVar5;\n  dwarf_vma *pdVar6;\n  dwarf_signed_vma implicit_const;\n  int iVar7;\n  byte bVar8;\n  dwarf_section *pdVar9;\n  uint uVar10;\n  int iVar11;\n  dwarf_section *pdVar12;\n  char *pcVar13;\n  uint uVar14;\n  ulong uVar15;\n  uchar *puVar16;\n  char *pcVar17;\n  uchar *puVar18;\n  char *pcVar19;\n  bool bVar20;\n  dwarf_section *section_1;\n  int iVar21;\n  uint uVar22;\n  uchar *puVar23;\n  debug_info *pdVar24;\n  abbrev_attr *paVar25;\n  uchar *end;\n  cu_tu_set *this_set;\n  elf_vma eVar26;\n  elf_vma eVar27;\n  dwarf_vma dVar28;\n  char *in_stack_fffffee8;\n  uchar *puVar29;\n  undefined8 local_104;\n  uchar *local_f4;\n  dwarf_section *local_f0;\n  undefined8 local_ec;\n  ushort local_e2;\n  dwarf_section *local_d4;\n  uint local_cc;\n  ulonglong local_bc;\n  int local_b4;\n  dwarf_section *local_b0;\n  dwarf_section *local_ac;\n  uint local_a4;\n  uint local_a0;\n  uint local_9c;\n  int local_98;\n  uint local_90;\n  dwarf_section *local_78;\n  dwarf_section *local_70;\n  dwarf_vma signature_high;\n  dwarf_vma signature_low;\n  char buf [64];\n  \n  puVar1 = section->start;\n  end = puVar1 + (int)section->size;\n  if (do_loc == 0) {\n    if ((do_debug_loc == 0 && do_debug_ranges == 0) ||\n       (do_types != 0 || num_debug_info_entries != 0)) {\n      local_90 = 0;\n    }\n    else {\nLAB_00056b86:\n      local_90 = 0;\n      puVar29 = puVar1;\n      if (end <= puVar1) {\nLAB_00057e2b:\n        pcVar13 = section->name;\n        pcVar17 = (char *)dcgettext(0,"No comp units in %s section ?\n",5);\n        error(pcVar17,pcVar13);\n        return 0;\n      }\n      do {\n        puVar18 = puVar29 + 4;\n        if (end <= puVar18) {\n          pdVar12 = (dwarf_section *)(end + -(int)puVar29);\n          pdVar9 = (dwarf_section *)in_stack_fffffee8;\n          if ((undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)\n          goto LAB_000570ed;\nLAB_00056bdb:\n          in_stack_fffffee8 = (char *)pdVar9;\n          uVar10 = 0;\nLAB_00056bdf:\n          pcVar17 = section->name;\n          pcVar19 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n          pcVar13 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          pcVar13 = (char *)dcgettext(0,pcVar13,5);\n          warn(pcVar13,pcVar19,pcVar17);\n          return 0;\n        }\n        pdVar12 = (dwarf_section *)0x4;\nLAB_000570ed:\n        eVar26 = (*byte_get)(puVar29,(int)pdVar12);\n        uVar10 = (uint)eVar26;\n        if (eVar26 == 0xffffffff) {\n          if (puVar29 + 0xc < end) {\n            in_stack_fffffee8 = (char *)0x8;\n          }\n          else {\n            pdVar9 = pdVar12;\n            if ((end <= puVar18) ||\n               (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n               (undefined1 *)0x7 <\n               (undefined1 *)\n               ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U)))\n            goto LAB_00056bdb;\n          }\n          eVar26 = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n          uVar10 = (uint)eVar26;\n          puVar29 = puVar29 + uVar10 + 0xc;\n          bVar20 = puVar29 < puVar1 || (int)uVar10 < 1;\n        }\n        else {\n          local_104._4_4_ = (int)(eVar26 - 0xfffffff0 >> 0x20);\n          if (local_104._4_4_ == 0 && (uint)(0xe < (uint)local_104) <= (uint)-local_104._4_4_) {\n            pcVar17 = section->name;\n            pcVar19 = dwarf_vmatoa_1("x",ZEXT48(pdVar12) << 0x20,uVar10);\n            pcVar13 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          puVar29 = puVar29 + uVar10 + 4;\n          bVar20 = (int)uVar10 < 1 || puVar29 < puVar1;\n          in_stack_fffffee8 = (char *)pdVar12;\n          local_104 = eVar26 - 0xfffffff0;\n        }\n        if (bVar20) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      } while (puVar29 < end);\n      if (local_90 == 0) goto LAB_00057e2b;\n      if (0x3333332 < local_90) {\n        debug_information = (debug_info *)0x0;\n        pcVar13 = (char *)dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(pcVar13,local_90);\n        alloc_num_debug_info_entries = 0;\n        num_debug_info_entries = 0;\n        return 0;\n      }\n      debug_information = (debug_info *)xmalloc(local_90 * 0x50);\n      in_stack_fffffee8 = (char *)0x0;\n      memset(debug_information,0,local_90 * 0x50);\n      alloc_num_debug_info_entries = local_90;\n      if (do_loc != 0) {\n        puVar29 = (uchar *)0x571d3;\n        load_debug_section_with_follow(abbrev_sec,file);\n        if (*(int *)(&DAT_000b4850 + abbrev_sec * 0x40) == 0) goto LAB_00057bf6;\n        do_types = 0;\n        goto LAB_0005662b;\n      }\n    }\n    load_debug_section_with_follow(str,file);\n    load_debug_section_with_follow(line_str,file);\n    load_debug_section_with_follow(str_dwo,file);\n    load_debug_section_with_follow(str_index,file);\n    load_debug_section_with_follow(str_index_dwo,file);\n    load_debug_section_with_follow(debug_addr,file);\n    puVar29 = (uchar *)0x565e3;\n    load_debug_section_with_follow(abbrev_sec,file);\n    if (*(int *)(&DAT_000b4850 + abbrev_sec * 0x40) == 0) {\nLAB_00057bf6:\n      puVar5 = (&debug_displays)[abbrev_sec * 0x10];\n      pcVar13 = (char *)dcgettext(0,"Unable to locate %s section!\n",5);\n      warn(pcVar13,puVar5);\n      return 0;\n    }\n    if (dwarf_start_die == 0) {\n      puVar29 = (uchar *)0x57d63;\n      introduce((dwarf_section *)section->name,(bfd_boolean)&section->filename,section_1);\n    }\n    if (puVar1 < end) {\nLAB_0005662b:\n      local_a4 = 0;\n      local_f4 = puVar1;\n      do {\n        signature_high._0_4_ = (char *)0x0;\n        signature_high._4_4_ = 0;\n        signature_low._0_4_ = 0;\n        puVar18 = local_f4 + 4;\n        signature_low._4_4_ = 0;\n        puVar16 = puVar18;\n        if (puVar18 < end) {\n          pdVar9 = (dwarf_section *)0x4;\nLAB_00056d25:\n          local_ec = (*byte_get)(local_f4,(int)pdVar9);\n          if (local_ec == 0xffffffff) {\n            puVar16 = local_f4 + 0xc;\n            if (puVar16 < end) {\n              in_stack_fffffee8 = (char *)0x8;\n            }\n            else if ((end <= puVar18) ||\n                    (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n                    (undefined1 *)0x7 <\n                    (undefined1 *)\n                    ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U))) {\n              local_cc = 0xc;\n              puVar23 = local_f4 + 0xe;\n              local_d4 = (dwarf_section *)0xc;\n              local_f0 = (dwarf_section *)0x8;\n              in_stack_fffffee8 = (char *)pdVar9;\n              goto joined_r0x00056d9b;\n            }\n            puVar23 = local_f4 + 0xe;\n            local_ec = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n            local_cc = 0xc;\n            local_d4 = (dwarf_section *)0xc;\n            local_f0 = (dwarf_section *)0x8;\n          }\n          else {\n            puVar23 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = (dwarf_section *)0x4;\n            local_f0 = (dwarf_section *)0x4;\n            in_stack_fffffee8 = (char *)pdVar9;\n          }\n          if (puVar23 < end) {\n            pdVar9 = (dwarf_section *)0x2;\n          }\n          else if ((end <= puVar16) ||\n                  (pdVar9 = (dwarf_section *)(end + -(int)puVar16),\n                  (undefined1 *)0x7 < (undefined1 *)((int)&pdVar9[-1].user_data + 3U)))\n          goto LAB_00056db1;\nLAB_000566e9:\n          eVar26 = (*byte_get)(puVar16,(int)pdVar9);\n          local_e2 = (ushort)eVar26;\n          in_stack_fffffee8 = (char *)pdVar9;\n        }\n        else {\n          pdVar9 = (dwarf_section *)(end + -(int)local_f4);\n          if ((undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8)\n          goto LAB_00056d25;\n          local_cc = 4;\n          puVar23 = local_f4 + 6;\n          local_d4 = (dwarf_section *)0x4;\n          local_f0 = (dwarf_section *)0x4;\njoined_r0x00056d9b:\n          if (puVar23 < end) {\n            pdVar9 = (dwarf_section *)0x2;\n            local_ec = 0;\n            goto LAB_000566e9;\n          }\n          local_ec = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }\n        uVar10 = (int)local_f4 - (int)puVar1;\n        iVar11 = (int)uVar10 >> 0x1f;\n        if (do_types == 0) {\n          iVar21 = 1;\n          iVar7 = cu_count;\n          this_set = cu_sets;\n        }\n        else {\n          iVar21 = 2;\n          iVar7 = tu_count;\n          this_set = tu_sets;\n        }\n        for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (iVar11 == *(int *)((int)this_set->section_offsets + iVar21 * 8 + 4) &&\n              uVar10 == (uint)this_set->section_offsets[iVar21]) goto joined_r0x0005676e;\n          this_set = this_set + 1;\n        }\n        this_set = (cu_tu_set *)0x0;\njoined_r0x0005676e:\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar8 = 0xff;\n          pdVar9 = (dwarf_section *)in_stack_fffffee8;\njoined_r0x000567df:\n          puVar18 = puVar23 + (int)local_f0;\n          in_stack_fffffee8 = (char *)local_f0;\n          if ((puVar18 < end) ||\n             ((puVar23 < end &&\n              (in_stack_fffffee8 = (char *)(end + -(int)puVar23),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar23))[-1].user_data + 3U) <\n              (undefined1 *)0x8)))) goto LAB_00056caa;\nLAB_000567f7:\n          eVar26 = 0;\n          in_stack_fffffee8 = (char *)pdVar9;\n          eVar27 = 0;\n          if (this_set != (cu_tu_set *)0x0) goto LAB_0005680f;\nLAB_00056cce:\n          eVar26 = eVar27;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(dwarf_section **)(&DAT_000b485c + abbrev_sec * 0x40);\n        }\n        else {\n          puVar18 = puVar16 + 3;\n          if (puVar18 < end) {\n            pdVar9 = (dwarf_section *)0x1;\nLAB_00057245:\n            eVar26 = (*byte_get)(puVar23,(int)pdVar9);\n            local_b4 = (int)eVar26;\n            do_types = (bfd_boolean)(local_b4 == 2);\n            pdVar12 = (dwarf_section *)0x1;\n            if ((puVar16 + 4 < end) ||\n               ((puVar18 < end &&\n                (pdVar12 = (dwarf_section *)(end + -(int)puVar18),\n                (undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)))) {\nLAB_000567c4:\n              puVar23 = puVar16 + 4;\n              eVar26 = (*byte_get)(puVar18,(int)pdVar12);\n              bVar8 = (byte)eVar26;\n              pdVar9 = pdVar12;\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((puVar23 < end) &&\n               (pdVar9 = (dwarf_section *)(end + -(int)puVar23),\n               (undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8))\n            goto LAB_00057245;\n            do_types = 0;\n            local_b4 = 0;\n            pdVar9 = (dwarf_section *)in_stack_fffffee8;\n            if (puVar16 + 4 < end) {\n              pdVar12 = (dwarf_section *)0x1;\n              goto LAB_000567c4;\n            }\n          }\n          puVar23 = puVar16 + 4;\n          bVar8 = 0;\n          puVar18 = puVar23 + (int)local_f0;\n          in_stack_fffffee8 = (char *)local_f0;\n          if (end <= puVar18) goto LAB_000567f7;\nLAB_00056caa:\n          eVar26 = (*byte_get)(puVar23,(int)in_stack_fffffee8);\n          eVar27 = eVar26;\n          if (this_set == (cu_tu_set *)0x0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = (uint)this_set->section_offsets[3];\n          local_98 = *(int *)((int)this_set->section_offsets + 0x1c);\n          local_ac = (dwarf_section *)this_set->section_sizes[3];\n        }\n        puVar16 = puVar18;\n        if (local_e2 < 5) {\n          puVar16 = puVar18 + 1;\n          if (puVar16 < end) {\n            in_stack_fffffee8 = (char *)0x1;\nLAB_00056c35:\n            eVar27 = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n            bVar8 = (byte)eVar27;\n            goto LAB_00056c57;\n          }\n          if ((puVar18 < end) &&\n             (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n             (undefined1 *)\n             ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U) <\n             (undefined1 *)0x8)) goto LAB_00056c35;\n          in_stack_fffffee8 = (char *)0x0;\nLAB_00056853:\n          pcVar13 = (char *)dcgettext(0,\n                                      "Invalid pointer size (%d) in compunit header, using %d instead\n"\n                                      ,5);\n          warn(pcVar13,in_stack_fffffee8,local_f0);\n          bVar8 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar8 - 2)) {\n            in_stack_fffffee8 = (char *)(uint)bVar8;\n            goto LAB_00056853;\n          }\n        }\n        local_bc._0_4_ = 0;\n        if (do_types != 0) {\n          puVar18 = puVar16 + 8;\n          if (end < puVar18) {\n            signature_high._0_4_ = (char *)0x0;\n            signature_high._4_4_ = 0;\n            signature_low._0_4_ = 0;\n            signature_low._4_4_ = 0;\n          }\n          else {\n            in_stack_fffffee8 = (char *)&signature_high;\n            byte_get_64(puVar16,(elf_vma *)in_stack_fffffee8,&signature_low);\n          }\n          puVar16 = puVar18 + (int)local_f0;\n          pdVar9 = local_f0;\n          if ((puVar16 < end) ||\n             ((local_bc._0_4_ = 0, puVar18 < end &&\n              (pdVar9 = (dwarf_section *)(end + -(int)puVar18),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar18))[-1].user_data + 3U) <\n              (undefined1 *)0x8)))) {\n            eVar27 = (*byte_get)(puVar18,(int)pdVar9);\n            local_bc._0_4_ = (uint)eVar27;\n            in_stack_fffffee8 = (char *)pdVar9;\n          }\n        }\n        uVar15 = dwarf_start_die;\n        local_a0 = (uint)(eVar26 >> 0x20);\n        local_b0 = (dwarf_section *)eVar26;\n        uVar14 = (int)local_d4 + uVar10;\n        if (local_ec._4_4_ + (uint)CARRY4(local_cc,(uint)local_ec) + iVar11 +\n            (uint)CARRY4(local_cc + (uint)local_ec,uVar10) <\n            (uint)(local_cc + (uint)local_ec + uVar10 < dwarf_start_die)) {\n          local_f4 = puVar1 + uVar14 + (uint)local_ec;\n        }\n        else {\n          if (do_loc == 0) {\n            if ((do_debug_loc != 0 || do_debug_ranges != 0) && (num_debug_info_entries == 0)) {\nLAB_00056993:\n              if (do_types == 0) {\n                pdVar24 = debug_information + local_a4;\n                pdVar24->pointer_size = (uint)bVar8;\n                *(int *)((int)&pdVar24->cu_offset + 4) = iVar11;\n                *(uint *)&pdVar24->cu_offset = uVar10;\n                pdVar24->offset_size = (uint)local_f0;\n                pdVar24->dwarf_version = (uint)local_e2;\n                *(undefined4 *)&pdVar24->base_address = 0;\n                *(undefined4 *)((int)&pdVar24->base_address + 4) = 0;\n                *(undefined4 *)&pdVar24->addr_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->addr_base + 4) = 0;\n                *(undefined4 *)&pdVar24->ranges_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->ranges_base + 4) = 0;\n                pdVar24->loc_offsets = (dwarf_vma *)0x0;\n                pdVar24->have_frame_base = (int *)0x0;\n                pdVar24->max_loc_offsets = 0;\n                pdVar24->num_loc_offsets = 0;\n                pdVar24->range_lists = (dwarf_vma *)0x0;\n                pdVar24->max_range_lists = 0;\n                pdVar24->num_range_lists = 0;\n              }\n              if (do_loc != 0) goto LAB_00056a44;\n            }\n            if (uVar15 == 0) {\n              pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n              pcVar13 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar13);\n              pcVar13 = "64-bit";\n              if (local_f0 != (dwarf_section *)0x8) {\n                pcVar13 = "32-bit";\n              }\n              pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar17) << 0x20,(uint)local_ec);\n              pcVar19 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar19,pcVar17,pcVar13);\n              pcVar13 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              uVar22 = (uint)local_e2;\n              printf(pcVar13);\n              pcVar13 = dwarf_vmatoa_1("x",(ulonglong)uVar22 << 0x20,(uint)local_b0);\n              pcVar17 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar17,pcVar13);\n              pcVar13 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              in_stack_fffffee8 = (char *)(uint)bVar8;\n              printf(pcVar13);\n              if (do_types != 0) {\n                pcVar13 = dwarf_vmatoa64(CONCAT44(signature_low._4_4_,(undefined4)signature_low),\n                                         CONCAT44(puVar29,buf),(char *)signature_high,\n                                         signature_high._4_4_);\n                pcVar17 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar17);\n                in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)local_bc);\n                pcVar13 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar13);\n              }\n              if (this_set != (cu_tu_set *)0x0) {\n                pcVar13 = "   Section contributions:\n";\n                pcVar17 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[3]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[3]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[4]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[4]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[5]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[5]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[6]);\n                in_stack_fffffee8 =\n                     dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)this_set->section_offsets[6]);\n                pcVar13 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar13,in_stack_fffffee8,pcVar17);\n              }\n            }\n          }\n          else if (num_debug_info_entries == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar22 = local_ec._4_4_ + (uint)CARRY4((uint)local_ec,uVar14);\n          if ((uVar22 < ((uint)local_ec + uVar14 < uVar14)) ||\n             (uVar2 = *(uint *)((int)&section->size + 4),\n             uVar2 < uVar22 ||\n             uVar2 - uVar22 < (uint)((uint)section->size < (uint)local_ec + uVar14))) {\n            pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,(uint)local_ec);\n            pcVar13 = section->name;\n            pcVar19 = (char *)dcgettext(0,\n                                        "Debug info is corrupted, %s header at %#lx has length %s\n"\n                                        ,5);\n            warn(pcVar19,pcVar13,uVar10,pcVar17);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + (int)local_d4 + (uint)local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              puVar29 = (uchar *)0x572c5;\n              free_abbrevs();\n              if (local_a0 < (local_b0 < local_ac)) {\n                iVar11 = abbrev_sec * 0x40;\n                pcVar13 = *(char **)(&DAT_000b485c + iVar11);\n                pdVar9 = (dwarf_section *)((int)&local_ac->uncompressed_name + local_9c);\n                uVar14 = local_98 + (uint)CARRY4((uint)local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + iVar11) < uVar14 ||\n                    *(uint *)(&DAT_000b4860 + iVar11) - uVar14 <\n                    (uint)(pcVar13 < (char *)((int)&local_ac->uncompressed_name + local_9c))) {\n                  pcVar17 = (char *)dcgettext(0,\n                                              "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                              ,5);\n                  warn(pcVar17,pdVar9,pcVar13);\n                  in_stack_fffffee8 = (char *)pdVar9;\n                }\n                else if (first_abbrev == (abbrev_entry *)0x0) {\n                  puVar29 = (uchar *)0x57341;\n                  process_abbrev_section\n                            ((uchar *)((int)&local_b0->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11) + local_9c),\n                             (uchar *)((int)&pdVar9->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11)));\n                }\n              }\n              else {\n                pcVar13 = (char *)dcgettext(0,\n                                            "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                            ,5);\n                warn(pcVar13,local_b0,local_ac);\n                in_stack_fffffee8 = (char *)local_b0;\n              }\n              if (puVar16 < local_f4) {\n                local_78 = (dwarf_section *)0xffffffff;\n                local_70 = (dwarf_section *)0x0;\n                local_d4 = (dwarf_section *)0x0;\n                do {\n                  pdVar12 = (dwarf_section *)(puVar16 + -(int)puVar1);\n                  pdVar9 = (dwarf_section *)0x0;\n                  in_stack_fffffee8 = buf;\n                  puVar29 = local_f4;\n                  dVar28 = read_leb128(puVar16,(uint *)buf,0,local_f4);\n                  uVar15 = (ulong)dVar28;\n                  puVar16 = puVar16 + buf._0_4_;\n                  if (uVar15 == 0) {\n                    if ((local_d4 == (dwarf_section *)0x0) && (end == local_f4)) {\n                      puVar18 = puVar16;\n                      if (puVar16 < local_f4) {\n                        while (*puVar18 == '\0') {\n                          puVar18 = puVar18 + 1;\n                          if (local_f4 == puVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == puVar16) break;\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         ((0 < dwarf_cutoff_level || (dwarf_cutoff_level == -1)))) {\n                        pdVar9 = (dwarf_section *)0xffffffff;\nLAB_00057496:\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar13,local_d4,pdVar12);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        if (-1 < (int)pdVar9) goto LAB_00057428;\n                      }\n                      else {\n                        pdVar9 = (dwarf_section *)0xffffffff;\n                        local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      }\nLAB_000574d0:\n                      in_stack_fffffee8 = (char *)local_d4;\n                      if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                          lexical_block_12_26_8::num_bogus_warns < 3) {\n                        pcVar13 = section->name;\n                        pcVar17 = (char *)dcgettext(0,\n                                                  "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                                  ,5);\n                        warn(pcVar17,pdVar12,pcVar13);\n                        process_debug_info::lexical_block_12::lexical_block_12_26::\n                        lexical_block_12_26_8::num_bogus_warns =\n                             process_debug_info::lexical_block_12::lexical_block_12_26::\n                             lexical_block_12_26_8::num_bogus_warns + 1;\n                        in_stack_fffffee8 = (char *)pdVar12;\n                        if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                            lexical_block_12_26_8::num_bogus_warns == 3) {\n                          in_stack_fffffee8 =\n                               "Further warnings about bogus end-of-sibling markers suppressed\n";\n                          pcVar13 = (char *)dcgettext(0,\n                                                  "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                                  ,5);\n                          warn(pcVar13);\n                        }\n                      }\n                    }\n                    else {\n                      pdVar9 = (dwarf_section *)((int)&local_d4[-1].user_data + 3);\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         (((int)local_d4 < dwarf_cutoff_level || (dwarf_cutoff_level == -1))))\n                      goto LAB_00057496;\n                      local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      if ((int)pdVar9 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = pdVar9;\n                    if ((dwarf_start_die != 0) && ((int)pdVar9 < (int)local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (do_loc == 0) {\n                      if (dwarf_start_die != 0) {\n                        if (pdVar12 < dwarf_start_die) {\n                          bVar20 = false;\n                          iVar11 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if ((dwarf_section *)dwarf_start_die == pdVar12) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar20 = dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level;\n                      if (dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level) {\n                        in_stack_fffffee8 = " <%d><%lx>: Abbrev Number: %lu";\n                        pdVar9 = (dwarf_section *)0x5;\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar13,local_d4,pdVar12,uVar15);\n                        local_70 = local_d4;\n                        iVar11 = 1;\n                      }\n                      else if ((int)local_70 < dwarf_cutoff_level) {\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        pdVar9 = pdVar12;\n                        printf(pcVar13,local_d4,pdVar12);\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                    }\n                    else {\n                      bVar20 = false;\n                      iVar11 = do_loc;\n                    }\nLAB_0005783c:\n                    if (first_abbrev == (abbrev_entry *)0x0) {\nLAB_00057dbe:\n                      if (bVar20) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      pcVar13 = (char *)dcgettext(0,\n                                                  "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                                  ,5);\n                      warn(pcVar13,pdVar12,uVar15);\n                      return 0;\n                    }\n                    uVar3 = first_abbrev->entry;\n                    paVar4 = first_abbrev;\n                    while (uVar3 != uVar15) {\n                      paVar4 = paVar4->next;\n                      if (paVar4 == (abbrev_entry *)0x0) goto LAB_00057dbe;\n                      uVar3 = paVar4->entry;\n                    }\n                    uVar15 = paVar4->tag;\n                    if (bVar20) {\n                      puVar29 = (uchar *)0x57bcc;\n                      in_stack_fffffee8 = get_TAG_name(uVar15);\n                      printf(" (%s)\n",in_stack_fffffee8,pdVar9);\n                      uVar15 = paVar4->tag;\n                    }\n                    if (uVar15 == 0x11) {\n                      need_base_address = 1;\n                      need_dwo_info = do_loc;\n                    }\n                    else if ((uVar15 == 0x2e) || (uVar15 == 3)) {\n                      need_base_address = 0;\n                      have_frame_base = 0;\n                    }\n                    else {\n                      need_base_address = 0;\n                    }\n                    if (((debug_information == (debug_info *)0x0) ||\n                        (alloc_num_debug_info_entries <= local_a4)) ||\n                       (pdVar24 = debug_information + local_a4, pdVar24 == (debug_info *)0x0)) {\n                      paVar25 = paVar4->first_attr;\n                      if ((paVar25 != (abbrev_attr *)0x0) &&\n                         (pdVar24 = (debug_info *)0x0, paVar25->attribute != 0)) {\nLAB_000578fa:\n                        local_bc = ZEXT48(local_f0);\n                        do {\n                          if (bVar20) {\n                            printf("    <%lx>",(int)puVar16 - (int)puVar1);\n                          }\n                          uVar15 = paVar25->form;\n                          implicit_const = paVar25->implicit_const;\n                          uVar3 = paVar25->attribute;\n                          if (iVar11 == 1 && do_loc == 0) {\n                            puVar29 = (uchar *)0x579ff;\n                            in_stack_fffffee8 = get_AT_name(uVar3);\n                            printf("   %-18s:");\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,\n                                                 ' ');\n                            putchar(10);\n                            paVar25 = paVar25->next;\n                          }\n                          else {\n                            puVar29 = (uchar *)0x20;\n                            in_stack_fffffee8 = (char *)section;\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ');\n                            paVar25 = paVar25->next;\n                          }\n                        } while ((paVar25 != (abbrev_attr *)0x0) && (paVar25->attribute != 0));\n                        if (pdVar24 != (debug_info *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (pdVar24->num_loc_offsets != pdVar24->num_loc_views) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      paVar25 = paVar4->first_attr;\n                      if (paVar25 != (abbrev_attr *)0x0) {\n                        if (paVar25->attribute != 0) goto LAB_000578fa;\nLAB_00057a88:\n                        uVar14 = pdVar24->num_loc_offsets;\n                        uVar22 = pdVar24->num_loc_views;\n                        if (uVar14 - uVar22 == 1) {\n                          pdVar6 = pdVar24->loc_views;\n                          *(undefined4 *)(pdVar6 + uVar22) = 0xffffffff;\n                          *(undefined4 *)((int)pdVar6 + uVar22 * 8 + 4) = 0xffffffff;\n                          pdVar24->num_loc_views = uVar22 + 1;\n                          if (uVar22 + 1 != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (uVar14 != uVar22) {\n                          if (uVar14 - uVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          in_stack_fffffee8 = "DIE has locviews without loclist\n";\n                          pcVar13 = (char *)dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(pcVar13);\n                          pdVar24->num_loc_views = pdVar24->num_loc_views - 1;\n                        }\n                      }\n                    }\n                    local_d4 = (dwarf_section *)\n                               ((int)&local_d4->uncompressed_name + (uint)(paVar4->children != 0));\n                  }\n                } while (puVar16 < local_f4);\n              }\n            }\n            else {\n              in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n              pcVar13 = (char *)dcgettext(0,\n                                          "CU at offset %s contains corrupt or unsupported unit type: %d.\n"\n                                          ,5);\n              warn(pcVar13,in_stack_fffffee8,local_b4);\n            }\n          }\n          else {\n            in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n            pcVar13 = (char *)dcgettext(0,\n                                        "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                                        ,5);\n            warn(pcVar13,in_stack_fffffee8,(uint)local_e2);\n          }\n        }\nLAB_00056ae6:\n        local_a4 = local_a4 + 1;\n      } while (local_f4 < end);\n      if (do_loc != 0) goto LAB_00057752;\n    }\n    if ((do_debug_loc == 0 && do_debug_ranges == 0) ||\n       (do_types != 0 || num_debug_info_entries != 0)) goto LAB_00056b59;\n  }\n  else {\n    if (do_types == 0 && num_debug_info_entries == 0) goto LAB_00056b86;\n    puVar29 = (uchar *)0x5770c;\n    load_debug_section_with_follow(abbrev_sec,file);\n    if (*(int *)(&DAT_000b4850 + abbrev_sec * 0x40) == 0) goto LAB_00057bf6;\n    local_90 = 0;\n    if (puVar1 < end) goto LAB_0005662b;\nLAB_00057752:\n    if (do_types != 0 || num_debug_info_entries != 0) {\n      return 1;\n    }\n  }\n  num_debug_info_entries = alloc_num_debug_info_entries;\n  if (local_90 <= alloc_num_debug_info_entries) {\n    num_debug_info_entries = local_90;\n  }\n  if (do_loc != 0) {\n    return 1;\n  }\nLAB_00056b59:\n  putchar(10);\n  return 1;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "process_debug_info(dwarf_section *section,void *file,dwarf_section_display_enum abbrev_sec,\n                  bfd_boolean do_loc,bfd_boolean do_types)" identifier (parameter_list "(dwarf_section *section,void *file,dwarf_section_display_enum abbrev_sec,\n                  bfd_boolean do_loc,bfd_boolean do_types)" ( (parameter_declaration "dwarf_section *section" type_identifier (pointer_declarator "*section" * identifier)) , (parameter_declaration "void *file" primitive_type (pointer_declarator "*file" * identifier)) , (parameter_declaration "dwarf_section_display_enum abbrev_sec" type_identifier identifier) , (parameter_declaration "bfd_boolean do_loc" type_identifier identifier) , (parameter_declaration "bfd_boolean do_types" type_identifier identifier) ))) (compound_statement "{\n  uchar *puVar1;\n  uint uVar2;\n  ulong uVar3;\n  abbrev_entry *paVar4;\n  undefined *puVar5;\n  dwarf_vma *pdVar6;\n  dwarf_signed_vma implicit_const;\n  int iVar7;\n  byte bVar8;\n  dwarf_section *pdVar9;\n  uint uVar10;\n  int iVar11;\n  dwarf_section *pdVar12;\n  char *pcVar13;\n  uint uVar14;\n  ulong uVar15;\n  uchar *puVar16;\n  char *pcVar17;\n  uchar *puVar18;\n  char *pcVar19;\n  bool bVar20;\n  dwarf_section *section_1;\n  int iVar21;\n  uint uVar22;\n  uchar *puVar23;\n  debug_info *pdVar24;\n  abbrev_attr *paVar25;\n  uchar *end;\n  cu_tu_set *this_set;\n  elf_vma eVar26;\n  elf_vma eVar27;\n  dwarf_vma dVar28;\n  char *in_stack_fffffee8;\n  uchar *puVar29;\n  undefined8 local_104;\n  uchar *local_f4;\n  dwarf_section *local_f0;\n  undefined8 local_ec;\n  ushort local_e2;\n  dwarf_section *local_d4;\n  uint local_cc;\n  ulonglong local_bc;\n  int local_b4;\n  dwarf_section *local_b0;\n  dwarf_section *local_ac;\n  uint local_a4;\n  uint local_a0;\n  uint local_9c;\n  int local_98;\n  uint local_90;\n  dwarf_section *local_78;\n  dwarf_section *local_70;\n  dwarf_vma signature_high;\n  dwarf_vma signature_low;\n  char buf [64];\n  \n  puVar1 = section->start;\n  end = puVar1 + (int)section->size;\n  if (do_loc == 0) {\n    if ((do_debug_loc == 0 && do_debug_ranges == 0) ||\n       (do_types != 0 || num_debug_info_entries != 0)) {\n      local_90 = 0;\n    }\n    else {\nLAB_00056b86:\n      local_90 = 0;\n      puVar29 = puVar1;\n      if (end <= puVar1) {\nLAB_00057e2b:\n        pcVar13 = section->name;\n        pcVar17 = (char *)dcgettext(0,"No comp units in %s section ?\n",5);\n        error(pcVar17,pcVar13);\n        return 0;\n      }\n      do {\n        puVar18 = puVar29 + 4;\n        if (end <= puVar18) {\n          pdVar12 = (dwarf_section *)(end + -(int)puVar29);\n          pdVar9 = (dwarf_section *)in_stack_fffffee8;\n          if ((undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)\n          goto LAB_000570ed;\nLAB_00056bdb:\n          in_stack_fffffee8 = (char *)pdVar9;\n          uVar10 = 0;\nLAB_00056bdf:\n          pcVar17 = section->name;\n          pcVar19 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n          pcVar13 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          pcVar13 = (char *)dcgettext(0,pcVar13,5);\n          warn(pcVar13,pcVar19,pcVar17);\n          return 0;\n        }\n        pdVar12 = (dwarf_section *)0x4;\nLAB_000570ed:\n        eVar26 = (*byte_get)(puVar29,(int)pdVar12);\n        uVar10 = (uint)eVar26;\n        if (eVar26 == 0xffffffff) {\n          if (puVar29 + 0xc < end) {\n            in_stack_fffffee8 = (char *)0x8;\n          }\n          else {\n            pdVar9 = pdVar12;\n            if ((end <= puVar18) ||\n               (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n               (undefined1 *)0x7 <\n               (undefined1 *)\n               ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U)))\n            goto LAB_00056bdb;\n          }\n          eVar26 = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n          uVar10 = (uint)eVar26;\n          puVar29 = puVar29 + uVar10 + 0xc;\n          bVar20 = puVar29 < puVar1 || (int)uVar10 < 1;\n        }\n        else {\n          local_104._4_4_ = (int)(eVar26 - 0xfffffff0 >> 0x20);\n          if (local_104._4_4_ == 0 && (uint)(0xe < (uint)local_104) <= (uint)-local_104._4_4_) {\n            pcVar17 = section->name;\n            pcVar19 = dwarf_vmatoa_1("x",ZEXT48(pdVar12) << 0x20,uVar10);\n            pcVar13 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          puVar29 = puVar29 + uVar10 + 4;\n          bVar20 = (int)uVar10 < 1 || puVar29 < puVar1;\n          in_stack_fffffee8 = (char *)pdVar12;\n          local_104 = eVar26 - 0xfffffff0;\n        }\n        if (bVar20) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      } while (puVar29 < end);\n      if (local_90 == 0) goto LAB_00057e2b;\n      if (0x3333332 < local_90) {\n        debug_information = (debug_info *)0x0;\n        pcVar13 = (char *)dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(pcVar13,local_90);\n        alloc_num_debug_info_entries = 0;\n        num_debug_info_entries = 0;\n        return 0;\n      }\n      debug_information = (debug_info *)xmalloc(local_90 * 0x50);\n      in_stack_fffffee8 = (char *)0x0;\n      memset(debug_information,0,local_90 * 0x50);\n      alloc_num_debug_info_entries = local_90;\n      if (do_loc != 0) {\n        puVar29 = (uchar *)0x571d3;\n        load_debug_section_with_follow(abbrev_sec,file);\n        if (*(int *)(&DAT_000b4850 + abbrev_sec * 0x40) == 0) goto LAB_00057bf6;\n        do_types = 0;\n        goto LAB_0005662b;\n      }\n    }\n    load_debug_section_with_follow(str,file);\n    load_debug_section_with_follow(line_str,file);\n    load_debug_section_with_follow(str_dwo,file);\n    load_debug_section_with_follow(str_index,file);\n    load_debug_section_with_follow(str_index_dwo,file);\n    load_debug_section_with_follow(debug_addr,file);\n    puVar29 = (uchar *)0x565e3;\n    load_debug_section_with_follow(abbrev_sec,file);\n    if (*(int *)(&DAT_000b4850 + abbrev_sec * 0x40) == 0) {\nLAB_00057bf6:\n      puVar5 = (&debug_displays)[abbrev_sec * 0x10];\n      pcVar13 = (char *)dcgettext(0,"Unable to locate %s section!\n",5);\n      warn(pcVar13,puVar5);\n      return 0;\n    }\n    if (dwarf_start_die == 0) {\n      puVar29 = (uchar *)0x57d63;\n      introduce((dwarf_section *)section->name,(bfd_boolean)&section->filename,section_1);\n    }\n    if (puVar1 < end) {\nLAB_0005662b:\n      local_a4 = 0;\n      local_f4 = puVar1;\n      do {\n        signature_high._0_4_ = (char *)0x0;\n        signature_high._4_4_ = 0;\n        signature_low._0_4_ = 0;\n        puVar18 = local_f4 + 4;\n        signature_low._4_4_ = 0;\n        puVar16 = puVar18;\n        if (puVar18 < end) {\n          pdVar9 = (dwarf_section *)0x4;\nLAB_00056d25:\n          local_ec = (*byte_get)(local_f4,(int)pdVar9);\n          if (local_ec == 0xffffffff) {\n            puVar16 = local_f4 + 0xc;\n            if (puVar16 < end) {\n              in_stack_fffffee8 = (char *)0x8;\n            }\n            else if ((end <= puVar18) ||\n                    (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n                    (undefined1 *)0x7 <\n                    (undefined1 *)\n                    ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U))) {\n              local_cc = 0xc;\n              puVar23 = local_f4 + 0xe;\n              local_d4 = (dwarf_section *)0xc;\n              local_f0 = (dwarf_section *)0x8;\n              in_stack_fffffee8 = (char *)pdVar9;\n              goto joined_r0x00056d9b;\n            }\n            puVar23 = local_f4 + 0xe;\n            local_ec = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n            local_cc = 0xc;\n            local_d4 = (dwarf_section *)0xc;\n            local_f0 = (dwarf_section *)0x8;\n          }\n          else {\n            puVar23 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = (dwarf_section *)0x4;\n            local_f0 = (dwarf_section *)0x4;\n            in_stack_fffffee8 = (char *)pdVar9;\n          }\n          if (puVar23 < end) {\n            pdVar9 = (dwarf_section *)0x2;\n          }\n          else if ((end <= puVar16) ||\n                  (pdVar9 = (dwarf_section *)(end + -(int)puVar16),\n                  (undefined1 *)0x7 < (undefined1 *)((int)&pdVar9[-1].user_data + 3U)))\n          goto LAB_00056db1;\nLAB_000566e9:\n          eVar26 = (*byte_get)(puVar16,(int)pdVar9);\n          local_e2 = (ushort)eVar26;\n          in_stack_fffffee8 = (char *)pdVar9;\n        }\n        else {\n          pdVar9 = (dwarf_section *)(end + -(int)local_f4);\n          if ((undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8)\n          goto LAB_00056d25;\n          local_cc = 4;\n          puVar23 = local_f4 + 6;\n          local_d4 = (dwarf_section *)0x4;\n          local_f0 = (dwarf_section *)0x4;\njoined_r0x00056d9b:\n          if (puVar23 < end) {\n            pdVar9 = (dwarf_section *)0x2;\n            local_ec = 0;\n            goto LAB_000566e9;\n          }\n          local_ec = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }\n        uVar10 = (int)local_f4 - (int)puVar1;\n        iVar11 = (int)uVar10 >> 0x1f;\n        if (do_types == 0) {\n          iVar21 = 1;\n          iVar7 = cu_count;\n          this_set = cu_sets;\n        }\n        else {\n          iVar21 = 2;\n          iVar7 = tu_count;\n          this_set = tu_sets;\n        }\n        for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (iVar11 == *(int *)((int)this_set->section_offsets + iVar21 * 8 + 4) &&\n              uVar10 == (uint)this_set->section_offsets[iVar21]) goto joined_r0x0005676e;\n          this_set = this_set + 1;\n        }\n        this_set = (cu_tu_set *)0x0;\njoined_r0x0005676e:\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar8 = 0xff;\n          pdVar9 = (dwarf_section *)in_stack_fffffee8;\njoined_r0x000567df:\n          puVar18 = puVar23 + (int)local_f0;\n          in_stack_fffffee8 = (char *)local_f0;\n          if ((puVar18 < end) ||\n             ((puVar23 < end &&\n              (in_stack_fffffee8 = (char *)(end + -(int)puVar23),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar23))[-1].user_data + 3U) <\n              (undefined1 *)0x8)))) goto LAB_00056caa;\nLAB_000567f7:\n          eVar26 = 0;\n          in_stack_fffffee8 = (char *)pdVar9;\n          eVar27 = 0;\n          if (this_set != (cu_tu_set *)0x0) goto LAB_0005680f;\nLAB_00056cce:\n          eVar26 = eVar27;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(dwarf_section **)(&DAT_000b485c + abbrev_sec * 0x40);\n        }\n        else {\n          puVar18 = puVar16 + 3;\n          if (puVar18 < end) {\n            pdVar9 = (dwarf_section *)0x1;\nLAB_00057245:\n            eVar26 = (*byte_get)(puVar23,(int)pdVar9);\n            local_b4 = (int)eVar26;\n            do_types = (bfd_boolean)(local_b4 == 2);\n            pdVar12 = (dwarf_section *)0x1;\n            if ((puVar16 + 4 < end) ||\n               ((puVar18 < end &&\n                (pdVar12 = (dwarf_section *)(end + -(int)puVar18),\n                (undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)))) {\nLAB_000567c4:\n              puVar23 = puVar16 + 4;\n              eVar26 = (*byte_get)(puVar18,(int)pdVar12);\n              bVar8 = (byte)eVar26;\n              pdVar9 = pdVar12;\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((puVar23 < end) &&\n               (pdVar9 = (dwarf_section *)(end + -(int)puVar23),\n               (undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8))\n            goto LAB_00057245;\n            do_types = 0;\n            local_b4 = 0;\n            pdVar9 = (dwarf_section *)in_stack_fffffee8;\n            if (puVar16 + 4 < end) {\n              pdVar12 = (dwarf_section *)0x1;\n              goto LAB_000567c4;\n            }\n          }\n          puVar23 = puVar16 + 4;\n          bVar8 = 0;\n          puVar18 = puVar23 + (int)local_f0;\n          in_stack_fffffee8 = (char *)local_f0;\n          if (end <= puVar18) goto LAB_000567f7;\nLAB_00056caa:\n          eVar26 = (*byte_get)(puVar23,(int)in_stack_fffffee8);\n          eVar27 = eVar26;\n          if (this_set == (cu_tu_set *)0x0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = (uint)this_set->section_offsets[3];\n          local_98 = *(int *)((int)this_set->section_offsets + 0x1c);\n          local_ac = (dwarf_section *)this_set->section_sizes[3];\n        }\n        puVar16 = puVar18;\n        if (local_e2 < 5) {\n          puVar16 = puVar18 + 1;\n          if (puVar16 < end) {\n            in_stack_fffffee8 = (char *)0x1;\nLAB_00056c35:\n            eVar27 = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n            bVar8 = (byte)eVar27;\n            goto LAB_00056c57;\n          }\n          if ((puVar18 < end) &&\n             (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n             (undefined1 *)\n             ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U) <\n             (undefined1 *)0x8)) goto LAB_00056c35;\n          in_stack_fffffee8 = (char *)0x0;\nLAB_00056853:\n          pcVar13 = (char *)dcgettext(0,\n                                      "Invalid pointer size (%d) in compunit header, using %d instead\n"\n                                      ,5);\n          warn(pcVar13,in_stack_fffffee8,local_f0);\n          bVar8 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar8 - 2)) {\n            in_stack_fffffee8 = (char *)(uint)bVar8;\n            goto LAB_00056853;\n          }\n        }\n        local_bc._0_4_ = 0;\n        if (do_types != 0) {\n          puVar18 = puVar16 + 8;\n          if (end < puVar18) {\n            signature_high._0_4_ = (char *)0x0;\n            signature_high._4_4_ = 0;\n            signature_low._0_4_ = 0;\n            signature_low._4_4_ = 0;\n          }\n          else {\n            in_stack_fffffee8 = (char *)&signature_high;\n            byte_get_64(puVar16,(elf_vma *)in_stack_fffffee8,&signature_low);\n          }\n          puVar16 = puVar18 + (int)local_f0;\n          pdVar9 = local_f0;\n          if ((puVar16 < end) ||\n             ((local_bc._0_4_ = 0, puVar18 < end &&\n              (pdVar9 = (dwarf_section *)(end + -(int)puVar18),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar18))[-1].user_data + 3U) <\n              (undefined1 *)0x8)))) {\n            eVar27 = (*byte_get)(puVar18,(int)pdVar9);\n            local_bc._0_4_ = (uint)eVar27;\n            in_stack_fffffee8 = (char *)pdVar9;\n          }\n        }\n        uVar15 = dwarf_start_die;\n        local_a0 = (uint)(eVar26 >> 0x20);\n        local_b0 = (dwarf_section *)eVar26;\n        uVar14 = (int)local_d4 + uVar10;\n        if (local_ec._4_4_ + (uint)CARRY4(local_cc,(uint)local_ec) + iVar11 +\n            (uint)CARRY4(local_cc + (uint)local_ec,uVar10) <\n            (uint)(local_cc + (uint)local_ec + uVar10 < dwarf_start_die)) {\n          local_f4 = puVar1 + uVar14 + (uint)local_ec;\n        }\n        else {\n          if (do_loc == 0) {\n            if ((do_debug_loc != 0 || do_debug_ranges != 0) && (num_debug_info_entries == 0)) {\nLAB_00056993:\n              if (do_types == 0) {\n                pdVar24 = debug_information + local_a4;\n                pdVar24->pointer_size = (uint)bVar8;\n                *(int *)((int)&pdVar24->cu_offset + 4) = iVar11;\n                *(uint *)&pdVar24->cu_offset = uVar10;\n                pdVar24->offset_size = (uint)local_f0;\n                pdVar24->dwarf_version = (uint)local_e2;\n                *(undefined4 *)&pdVar24->base_address = 0;\n                *(undefined4 *)((int)&pdVar24->base_address + 4) = 0;\n                *(undefined4 *)&pdVar24->addr_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->addr_base + 4) = 0;\n                *(undefined4 *)&pdVar24->ranges_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->ranges_base + 4) = 0;\n                pdVar24->loc_offsets = (dwarf_vma *)0x0;\n                pdVar24->have_frame_base = (int *)0x0;\n                pdVar24->max_loc_offsets = 0;\n                pdVar24->num_loc_offsets = 0;\n                pdVar24->range_lists = (dwarf_vma *)0x0;\n                pdVar24->max_range_lists = 0;\n                pdVar24->num_range_lists = 0;\n              }\n              if (do_loc != 0) goto LAB_00056a44;\n            }\n            if (uVar15 == 0) {\n              pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n              pcVar13 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar13);\n              pcVar13 = "64-bit";\n              if (local_f0 != (dwarf_section *)0x8) {\n                pcVar13 = "32-bit";\n              }\n              pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar17) << 0x20,(uint)local_ec);\n              pcVar19 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar19,pcVar17,pcVar13);\n              pcVar13 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              uVar22 = (uint)local_e2;\n              printf(pcVar13);\n              pcVar13 = dwarf_vmatoa_1("x",(ulonglong)uVar22 << 0x20,(uint)local_b0);\n              pcVar17 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar17,pcVar13);\n              pcVar13 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              in_stack_fffffee8 = (char *)(uint)bVar8;\n              printf(pcVar13);\n              if (do_types != 0) {\n                pcVar13 = dwarf_vmatoa64(CONCAT44(signature_low._4_4_,(undefined4)signature_low),\n                                         CONCAT44(puVar29,buf),(char *)signature_high,\n                                         signature_high._4_4_);\n                pcVar17 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar17);\n                in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)local_bc);\n                pcVar13 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar13);\n              }\n              if (this_set != (cu_tu_set *)0x0) {\n                pcVar13 = "   Section contributions:\n";\n                pcVar17 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[3]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[3]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[4]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[4]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[5]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[5]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[6]);\n                in_stack_fffffee8 =\n                     dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)this_set->section_offsets[6]);\n                pcVar13 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar13,in_stack_fffffee8,pcVar17);\n              }\n            }\n          }\n          else if (num_debug_info_entries == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar22 = local_ec._4_4_ + (uint)CARRY4((uint)local_ec,uVar14);\n          if ((uVar22 < ((uint)local_ec + uVar14 < uVar14)) ||\n             (uVar2 = *(uint *)((int)&section->size + 4),\n             uVar2 < uVar22 ||\n             uVar2 - uVar22 < (uint)((uint)section->size < (uint)local_ec + uVar14))) {\n            pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,(uint)local_ec);\n            pcVar13 = section->name;\n            pcVar19 = (char *)dcgettext(0,\n                                        "Debug info is corrupted, %s header at %#lx has length %s\n"\n                                        ,5);\n            warn(pcVar19,pcVar13,uVar10,pcVar17);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + (int)local_d4 + (uint)local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              puVar29 = (uchar *)0x572c5;\n              free_abbrevs();\n              if (local_a0 < (local_b0 < local_ac)) {\n                iVar11 = abbrev_sec * 0x40;\n                pcVar13 = *(char **)(&DAT_000b485c + iVar11);\n                pdVar9 = (dwarf_section *)((int)&local_ac->uncompressed_name + local_9c);\n                uVar14 = local_98 + (uint)CARRY4((uint)local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + iVar11) < uVar14 ||\n                    *(uint *)(&DAT_000b4860 + iVar11) - uVar14 <\n                    (uint)(pcVar13 < (char *)((int)&local_ac->uncompressed_name + local_9c))) {\n                  pcVar17 = (char *)dcgettext(0,\n                                              "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                              ,5);\n                  warn(pcVar17,pdVar9,pcVar13);\n                  in_stack_fffffee8 = (char *)pdVar9;\n                }\n                else if (first_abbrev == (abbrev_entry *)0x0) {\n                  puVar29 = (uchar *)0x57341;\n                  process_abbrev_section\n                            ((uchar *)((int)&local_b0->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11) + local_9c),\n                             (uchar *)((int)&pdVar9->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11)));\n                }\n              }\n              else {\n                pcVar13 = (char *)dcgettext(0,\n                                            "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                            ,5);\n                warn(pcVar13,local_b0,local_ac);\n                in_stack_fffffee8 = (char *)local_b0;\n              }\n              if (puVar16 < local_f4) {\n                local_78 = (dwarf_section *)0xffffffff;\n                local_70 = (dwarf_section *)0x0;\n                local_d4 = (dwarf_section *)0x0;\n                do {\n                  pdVar12 = (dwarf_section *)(puVar16 + -(int)puVar1);\n                  pdVar9 = (dwarf_section *)0x0;\n                  in_stack_fffffee8 = buf;\n                  puVar29 = local_f4;\n                  dVar28 = read_leb128(puVar16,(uint *)buf,0,local_f4);\n                  uVar15 = (ulong)dVar28;\n                  puVar16 = puVar16 + buf._0_4_;\n                  if (uVar15 == 0) {\n                    if ((local_d4 == (dwarf_section *)0x0) && (end == local_f4)) {\n                      puVar18 = puVar16;\n                      if (puVar16 < local_f4) {\n                        while (*puVar18 == '\0') {\n                          puVar18 = puVar18 + 1;\n                          if (local_f4 == puVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == puVar16) break;\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         ((0 < dwarf_cutoff_level || (dwarf_cutoff_level == -1)))) {\n                        pdVar9 = (dwarf_section *)0xffffffff;\nLAB_00057496:\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar13,local_d4,pdVar12);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        if (-1 < (int)pdVar9) goto LAB_00057428;\n                      }\n                      else {\n                        pdVar9 = (dwarf_section *)0xffffffff;\n                        local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      }\nLAB_000574d0:\n                      in_stack_fffffee8 = (char *)local_d4;\n                      if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                          lexical_block_12_26_8::num_bogus_warns < 3) {\n                        pcVar13 = section->name;\n                        pcVar17 = (char *)dcgettext(0,\n                                                  "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                                  ,5);\n                        warn(pcVar17,pdVar12,pcVar13);\n                        process_debug_info::lexical_block_12::lexical_block_12_26::\n                        lexical_block_12_26_8::num_bogus_warns =\n                             process_debug_info::lexical_block_12::lexical_block_12_26::\n                             lexical_block_12_26_8::num_bogus_warns + 1;\n                        in_stack_fffffee8 = (char *)pdVar12;\n                        if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                            lexical_block_12_26_8::num_bogus_warns == 3) {\n                          in_stack_fffffee8 =\n                               "Further warnings about bogus end-of-sibling markers suppressed\n";\n                          pcVar13 = (char *)dcgettext(0,\n                                                  "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                                  ,5);\n                          warn(pcVar13);\n                        }\n                      }\n                    }\n                    else {\n                      pdVar9 = (dwarf_section *)((int)&local_d4[-1].user_data + 3);\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         (((int)local_d4 < dwarf_cutoff_level || (dwarf_cutoff_level == -1))))\n                      goto LAB_00057496;\n                      local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      if ((int)pdVar9 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = pdVar9;\n                    if ((dwarf_start_die != 0) && ((int)pdVar9 < (int)local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (do_loc == 0) {\n                      if (dwarf_start_die != 0) {\n                        if (pdVar12 < dwarf_start_die) {\n                          bVar20 = false;\n                          iVar11 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if ((dwarf_section *)dwarf_start_die == pdVar12) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar20 = dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level;\n                      if (dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level) {\n                        in_stack_fffffee8 = " <%d><%lx>: Abbrev Number: %lu";\n                        pdVar9 = (dwarf_section *)0x5;\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar13,local_d4,pdVar12,uVar15);\n                        local_70 = local_d4;\n                        iVar11 = 1;\n                      }\n                      else if ((int)local_70 < dwarf_cutoff_level) {\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        pdVar9 = pdVar12;\n                        printf(pcVar13,local_d4,pdVar12);\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                    }\n                    else {\n                      bVar20 = false;\n                      iVar11 = do_loc;\n                    }\nLAB_0005783c:\n                    if (first_abbrev == (abbrev_entry *)0x0) {\nLAB_00057dbe:\n                      if (bVar20) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      pcVar13 = (char *)dcgettext(0,\n                                                  "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                                  ,5);\n                      warn(pcVar13,pdVar12,uVar15);\n                      return 0;\n                    }\n                    uVar3 = first_abbrev->entry;\n                    paVar4 = first_abbrev;\n                    while (uVar3 != uVar15) {\n                      paVar4 = paVar4->next;\n                      if (paVar4 == (abbrev_entry *)0x0) goto LAB_00057dbe;\n                      uVar3 = paVar4->entry;\n                    }\n                    uVar15 = paVar4->tag;\n                    if (bVar20) {\n                      puVar29 = (uchar *)0x57bcc;\n                      in_stack_fffffee8 = get_TAG_name(uVar15);\n                      printf(" (%s)\n",in_stack_fffffee8,pdVar9);\n                      uVar15 = paVar4->tag;\n                    }\n                    if (uVar15 == 0x11) {\n                      need_base_address = 1;\n                      need_dwo_info = do_loc;\n                    }\n                    else if ((uVar15 == 0x2e) || (uVar15 == 3)) {\n                      need_base_address = 0;\n                      have_frame_base = 0;\n                    }\n                    else {\n                      need_base_address = 0;\n                    }\n                    if (((debug_information == (debug_info *)0x0) ||\n                        (alloc_num_debug_info_entries <= local_a4)) ||\n                       (pdVar24 = debug_information + local_a4, pdVar24 == (debug_info *)0x0)) {\n                      paVar25 = paVar4->first_attr;\n                      if ((paVar25 != (abbrev_attr *)0x0) &&\n                         (pdVar24 = (debug_info *)0x0, paVar25->attribute != 0)) {\nLAB_000578fa:\n                        local_bc = ZEXT48(local_f0);\n                        do {\n                          if (bVar20) {\n                            printf("    <%lx>",(int)puVar16 - (int)puVar1);\n                          }\n                          uVar15 = paVar25->form;\n                          implicit_const = paVar25->implicit_const;\n                          uVar3 = paVar25->attribute;\n                          if (iVar11 == 1 && do_loc == 0) {\n                            puVar29 = (uchar *)0x579ff;\n                            in_stack_fffffee8 = get_AT_name(uVar3);\n                            printf("   %-18s:");\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,\n                                                 ' ');\n                            putchar(10);\n                            paVar25 = paVar25->next;\n                          }\n                          else {\n                            puVar29 = (uchar *)0x20;\n                            in_stack_fffffee8 = (char *)section;\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ');\n                            paVar25 = paVar25->next;\n                          }\n                        } while ((paVar25 != (abbrev_attr *)0x0) && (paVar25->attribute != 0));\n                        if (pdVar24 != (debug_info *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (pdVar24->num_loc_offsets != pdVar24->num_loc_views) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      paVar25 = paVar4->first_attr;\n                      if (paVar25 != (abbrev_attr *)0x0) {\n                        if (paVar25->attribute != 0) goto LAB_000578fa;\nLAB_00057a88:\n                        uVar14 = pdVar24->num_loc_offsets;\n                        uVar22 = pdVar24->num_loc_views;\n                        if (uVar14 - uVar22 == 1) {\n                          pdVar6 = pdVar24->loc_views;\n                          *(undefined4 *)(pdVar6 + uVar22) = 0xffffffff;\n                          *(undefined4 *)((int)pdVar6 + uVar22 * 8 + 4) = 0xffffffff;\n                          pdVar24->num_loc_views = uVar22 + 1;\n                          if (uVar22 + 1 != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (uVar14 != uVar22) {\n                          if (uVar14 - uVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          in_stack_fffffee8 = "DIE has locviews without loclist\n";\n                          pcVar13 = (char *)dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(pcVar13);\n                          pdVar24->num_loc_views = pdVar24->num_loc_views - 1;\n                        }\n                      }\n                    }\n                    local_d4 = (dwarf_section *)\n                               ((int)&local_d4->uncompressed_name + (uint)(paVar4->children != 0));\n                  }\n                } while (puVar16 < local_f4);\n              }\n            }\n            else {\n              in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n              pcVar13 = (char *)dcgettext(0,\n                                          "CU at offset %s contains corrupt or unsupported unit type: %d.\n"\n                                          ,5);\n              warn(pcVar13,in_stack_fffffee8,local_b4);\n            }\n          }\n          else {\n            in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n            pcVar13 = (char *)dcgettext(0,\n                                        "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                                        ,5);\n            warn(pcVar13,in_stack_fffffee8,(uint)local_e2);\n          }\n        }\nLAB_00056ae6:\n        local_a4 = local_a4 + 1;\n      } while (local_f4 < end);\n      if (do_loc != 0) goto LAB_00057752;\n    }\n    if ((do_debug_loc == 0 && do_debug_ranges == 0) ||\n       (do_types != 0 || num_debug_info_entries != 0)) goto LAB_00056b59;\n  }\n  else {\n    if (do_types == 0 && num_debug_info_entries == 0) goto LAB_00056b86;\n    puVar29 = (uchar *)0x5770c;\n    load_debug_section_with_follow(abbrev_sec,file);\n    if (*(int *)(&DAT_000b4850 + abbrev_sec * 0x40) == 0) goto LAB_00057bf6;\n    local_90 = 0;\n    if (puVar1 < end) goto LAB_0005662b;\nLAB_00057752:\n    if (do_types != 0 || num_debug_info_entries != 0) {\n      return 1;\n    }\n  }\n  num_debug_info_entries = alloc_num_debug_info_entries;\n  if (local_90 <= alloc_num_debug_info_entries) {\n    num_debug_info_entries = local_90;\n  }\n  if (do_loc != 0) {\n    return 1;\n  }\nLAB_00056b59:\n  putchar(10);\n  return 1;\n}" { (declaration "uchar *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "ulong uVar3;" type_identifier identifier ;) (declaration "abbrev_entry *paVar4;" type_identifier (pointer_declarator "*paVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "dwarf_vma *pdVar6;" type_identifier (pointer_declarator "*pdVar6" * identifier) ;) (declaration "dwarf_signed_vma implicit_const;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "byte bVar8;" type_identifier identifier ;) (declaration "dwarf_section *pdVar9;" type_identifier (pointer_declarator "*pdVar9" * identifier) ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "dwarf_section *pdVar12;" type_identifier (pointer_declarator "*pdVar12" * identifier) ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "ulong uVar15;" type_identifier identifier ;) (declaration "uchar *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "char *pcVar17;" primitive_type (pointer_declarator "*pcVar17" * identifier) ;) (declaration "uchar *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "char *pcVar19;" primitive_type (pointer_declarator "*pcVar19" * identifier) ;) (declaration "bool bVar20;" primitive_type identifier ;) (declaration "dwarf_section *section_1;" type_identifier (pointer_declarator "*section_1" * identifier) ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "uchar *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "debug_info *pdVar24;" type_identifier (pointer_declarator "*pdVar24" * identifier) ;) (declaration "abbrev_attr *paVar25;" type_identifier (pointer_declarator "*paVar25" * identifier) ;) (declaration "uchar *end;" type_identifier (pointer_declarator "*end" * identifier) ;) (declaration "cu_tu_set *this_set;" type_identifier (pointer_declarator "*this_set" * identifier) ;) (declaration "elf_vma eVar26;" type_identifier identifier ;) (declaration "elf_vma eVar27;" type_identifier identifier ;) (declaration "dwarf_vma dVar28;" type_identifier identifier ;) (declaration "char *in_stack_fffffee8;" primitive_type (pointer_declarator "*in_stack_fffffee8" * identifier) ;) (declaration "uchar *puVar29;" type_identifier (pointer_declarator "*puVar29" * identifier) ;) (declaration "undefined8 local_104;" type_identifier identifier ;) (declaration "uchar *local_f4;" type_identifier (pointer_declarator "*local_f4" * identifier) ;) (declaration "dwarf_section *local_f0;" type_identifier (pointer_declarator "*local_f0" * identifier) ;) (declaration "undefined8 local_ec;" type_identifier identifier ;) (declaration "ushort local_e2;" type_identifier identifier ;) (declaration "dwarf_section *local_d4;" type_identifier (pointer_declarator "*local_d4" * identifier) ;) (declaration "uint local_cc;" type_identifier identifier ;) (declaration "ulonglong local_bc;" type_identifier identifier ;) (declaration "int local_b4;" primitive_type identifier ;) (declaration "dwarf_section *local_b0;" type_identifier (pointer_declarator "*local_b0" * identifier) ;) (declaration "dwarf_section *local_ac;" type_identifier (pointer_declarator "*local_ac" * identifier) ;) (declaration "uint local_a4;" type_identifier identifier ;) (declaration "uint local_a0;" type_identifier identifier ;) (declaration "uint local_9c;" type_identifier identifier ;) (declaration "int local_98;" primitive_type identifier ;) (declaration "uint local_90;" type_identifier identifier ;) (declaration "dwarf_section *local_78;" type_identifier (pointer_declarator "*local_78" * identifier) ;) (declaration "dwarf_section *local_70;" type_identifier (pointer_declarator "*local_70" * identifier) ;) (declaration "dwarf_vma signature_high;" type_identifier identifier ;) (declaration "dwarf_vma signature_low;" type_identifier identifier ;) (declaration "char buf [64];" primitive_type (array_declarator "buf [64]" identifier [ number_literal ]) ;) (expression_statement "puVar1 = section->start;" (assignment_expression "puVar1 = section->start" identifier = (field_expression "section->start" identifier -> field_identifier)) ;) (expression_statement "end = puVar1 + (int)section->size;" (assignment_expression "end = puVar1 + (int)section->size" identifier = (binary_expression "puVar1 + (int)section->size" identifier + (cast_expression "(int)section->size" ( (type_descriptor "int" primitive_type) ) (field_expression "section->size" identifier -> field_identifier)))) ;) (if_statement "if (do_loc == 0) {\n    if ((do_debug_loc == 0 && do_debug_ranges == 0) ||\n       (do_types != 0 || num_debug_info_entries != 0)) {\n      local_90 = 0;\n    }\n    else {\nLAB_00056b86:\n      local_90 = 0;\n      puVar29 = puVar1;\n      if (end <= puVar1) {\nLAB_00057e2b:\n        pcVar13 = section->name;\n        pcVar17 = (char *)dcgettext(0,"No comp units in %s section ?\n",5);\n        error(pcVar17,pcVar13);\n        return 0;\n      }\n      do {\n        puVar18 = puVar29 + 4;\n        if (end <= puVar18) {\n          pdVar12 = (dwarf_section *)(end + -(int)puVar29);\n          pdVar9 = (dwarf_section *)in_stack_fffffee8;\n          if ((undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)\n          goto LAB_000570ed;\nLAB_00056bdb:\n          in_stack_fffffee8 = (char *)pdVar9;\n          uVar10 = 0;\nLAB_00056bdf:\n          pcVar17 = section->name;\n          pcVar19 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n          pcVar13 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          pcVar13 = (char *)dcgettext(0,pcVar13,5);\n          warn(pcVar13,pcVar19,pcVar17);\n          return 0;\n        }\n        pdVar12 = (dwarf_section *)0x4;\nLAB_000570ed:\n        eVar26 = (*byte_get)(puVar29,(int)pdVar12);\n        uVar10 = (uint)eVar26;\n        if (eVar26 == 0xffffffff) {\n          if (puVar29 + 0xc < end) {\n            in_stack_fffffee8 = (char *)0x8;\n          }\n          else {\n            pdVar9 = pdVar12;\n            if ((end <= puVar18) ||\n               (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n               (undefined1 *)0x7 <\n               (undefined1 *)\n               ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U)))\n            goto LAB_00056bdb;\n          }\n          eVar26 = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n          uVar10 = (uint)eVar26;\n          puVar29 = puVar29 + uVar10 + 0xc;\n          bVar20 = puVar29 < puVar1 || (int)uVar10 < 1;\n        }\n        else {\n          local_104._4_4_ = (int)(eVar26 - 0xfffffff0 >> 0x20);\n          if (local_104._4_4_ == 0 && (uint)(0xe < (uint)local_104) <= (uint)-local_104._4_4_) {\n            pcVar17 = section->name;\n            pcVar19 = dwarf_vmatoa_1("x",ZEXT48(pdVar12) << 0x20,uVar10);\n            pcVar13 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          puVar29 = puVar29 + uVar10 + 4;\n          bVar20 = (int)uVar10 < 1 || puVar29 < puVar1;\n          in_stack_fffffee8 = (char *)pdVar12;\n          local_104 = eVar26 - 0xfffffff0;\n        }\n        if (bVar20) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      } while (puVar29 < end);\n      if (local_90 == 0) goto LAB_00057e2b;\n      if (0x3333332 < local_90) {\n        debug_information = (debug_info *)0x0;\n        pcVar13 = (char *)dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(pcVar13,local_90);\n        alloc_num_debug_info_entries = 0;\n        num_debug_info_entries = 0;\n        return 0;\n      }\n      debug_information = (debug_info *)xmalloc(local_90 * 0x50);\n      in_stack_fffffee8 = (char *)0x0;\n      memset(debug_information,0,local_90 * 0x50);\n      alloc_num_debug_info_entries = local_90;\n      if (do_loc != 0) {\n        puVar29 = (uchar *)0x571d3;\n        load_debug_section_with_follow(abbrev_sec,file);\n        if (*(int *)(&DAT_000b4850 + abbrev_sec * 0x40) == 0) goto LAB_00057bf6;\n        do_types = 0;\n        goto LAB_0005662b;\n      }\n    }\n    load_debug_section_with_follow(str,file);\n    load_debug_section_with_follow(line_str,file);\n    load_debug_section_with_follow(str_dwo,file);\n    load_debug_section_with_follow(str_index,file);\n    load_debug_section_with_follow(str_index_dwo,file);\n    load_debug_section_with_follow(debug_addr,file);\n    puVar29 = (uchar *)0x565e3;\n    load_debug_section_with_follow(abbrev_sec,file);\n    if (*(int *)(&DAT_000b4850 + abbrev_sec * 0x40) == 0) {\nLAB_00057bf6:\n      puVar5 = (&debug_displays)[abbrev_sec * 0x10];\n      pcVar13 = (char *)dcgettext(0,"Unable to locate %s section!\n",5);\n      warn(pcVar13,puVar5);\n      return 0;\n    }\n    if (dwarf_start_die == 0) {\n      puVar29 = (uchar *)0x57d63;\n      introduce((dwarf_section *)section->name,(bfd_boolean)&section->filename,section_1);\n    }\n    if (puVar1 < end) {\nLAB_0005662b:\n      local_a4 = 0;\n      local_f4 = puVar1;\n      do {\n        signature_high._0_4_ = (char *)0x0;\n        signature_high._4_4_ = 0;\n        signature_low._0_4_ = 0;\n        puVar18 = local_f4 + 4;\n        signature_low._4_4_ = 0;\n        puVar16 = puVar18;\n        if (puVar18 < end) {\n          pdVar9 = (dwarf_section *)0x4;\nLAB_00056d25:\n          local_ec = (*byte_get)(local_f4,(int)pdVar9);\n          if (local_ec == 0xffffffff) {\n            puVar16 = local_f4 + 0xc;\n            if (puVar16 < end) {\n              in_stack_fffffee8 = (char *)0x8;\n            }\n            else if ((end <= puVar18) ||\n                    (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n                    (undefined1 *)0x7 <\n                    (undefined1 *)\n                    ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U))) {\n              local_cc = 0xc;\n              puVar23 = local_f4 + 0xe;\n              local_d4 = (dwarf_section *)0xc;\n              local_f0 = (dwarf_section *)0x8;\n              in_stack_fffffee8 = (char *)pdVar9;\n              goto joined_r0x00056d9b;\n            }\n            puVar23 = local_f4 + 0xe;\n            local_ec = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n            local_cc = 0xc;\n            local_d4 = (dwarf_section *)0xc;\n            local_f0 = (dwarf_section *)0x8;\n          }\n          else {\n            puVar23 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = (dwarf_section *)0x4;\n            local_f0 = (dwarf_section *)0x4;\n            in_stack_fffffee8 = (char *)pdVar9;\n          }\n          if (puVar23 < end) {\n            pdVar9 = (dwarf_section *)0x2;\n          }\n          else if ((end <= puVar16) ||\n                  (pdVar9 = (dwarf_section *)(end + -(int)puVar16),\n                  (undefined1 *)0x7 < (undefined1 *)((int)&pdVar9[-1].user_data + 3U)))\n          goto LAB_00056db1;\nLAB_000566e9:\n          eVar26 = (*byte_get)(puVar16,(int)pdVar9);\n          local_e2 = (ushort)eVar26;\n          in_stack_fffffee8 = (char *)pdVar9;\n        }\n        else {\n          pdVar9 = (dwarf_section *)(end + -(int)local_f4);\n          if ((undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8)\n          goto LAB_00056d25;\n          local_cc = 4;\n          puVar23 = local_f4 + 6;\n          local_d4 = (dwarf_section *)0x4;\n          local_f0 = (dwarf_section *)0x4;\njoined_r0x00056d9b:\n          if (puVar23 < end) {\n            pdVar9 = (dwarf_section *)0x2;\n            local_ec = 0;\n            goto LAB_000566e9;\n          }\n          local_ec = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }\n        uVar10 = (int)local_f4 - (int)puVar1;\n        iVar11 = (int)uVar10 >> 0x1f;\n        if (do_types == 0) {\n          iVar21 = 1;\n          iVar7 = cu_count;\n          this_set = cu_sets;\n        }\n        else {\n          iVar21 = 2;\n          iVar7 = tu_count;\n          this_set = tu_sets;\n        }\n        for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (iVar11 == *(int *)((int)this_set->section_offsets + iVar21 * 8 + 4) &&\n              uVar10 == (uint)this_set->section_offsets[iVar21]) goto joined_r0x0005676e;\n          this_set = this_set + 1;\n        }\n        this_set = (cu_tu_set *)0x0;\njoined_r0x0005676e:\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar8 = 0xff;\n          pdVar9 = (dwarf_section *)in_stack_fffffee8;\njoined_r0x000567df:\n          puVar18 = puVar23 + (int)local_f0;\n          in_stack_fffffee8 = (char *)local_f0;\n          if ((puVar18 < end) ||\n             ((puVar23 < end &&\n              (in_stack_fffffee8 = (char *)(end + -(int)puVar23),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar23))[-1].user_data + 3U) <\n              (undefined1 *)0x8)))) goto LAB_00056caa;\nLAB_000567f7:\n          eVar26 = 0;\n          in_stack_fffffee8 = (char *)pdVar9;\n          eVar27 = 0;\n          if (this_set != (cu_tu_set *)0x0) goto LAB_0005680f;\nLAB_00056cce:\n          eVar26 = eVar27;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(dwarf_section **)(&DAT_000b485c + abbrev_sec * 0x40);\n        }\n        else {\n          puVar18 = puVar16 + 3;\n          if (puVar18 < end) {\n            pdVar9 = (dwarf_section *)0x1;\nLAB_00057245:\n            eVar26 = (*byte_get)(puVar23,(int)pdVar9);\n            local_b4 = (int)eVar26;\n            do_types = (bfd_boolean)(local_b4 == 2);\n            pdVar12 = (dwarf_section *)0x1;\n            if ((puVar16 + 4 < end) ||\n               ((puVar18 < end &&\n                (pdVar12 = (dwarf_section *)(end + -(int)puVar18),\n                (undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)))) {\nLAB_000567c4:\n              puVar23 = puVar16 + 4;\n              eVar26 = (*byte_get)(puVar18,(int)pdVar12);\n              bVar8 = (byte)eVar26;\n              pdVar9 = pdVar12;\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((puVar23 < end) &&\n               (pdVar9 = (dwarf_section *)(end + -(int)puVar23),\n               (undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8))\n            goto LAB_00057245;\n            do_types = 0;\n            local_b4 = 0;\n            pdVar9 = (dwarf_section *)in_stack_fffffee8;\n            if (puVar16 + 4 < end) {\n              pdVar12 = (dwarf_section *)0x1;\n              goto LAB_000567c4;\n            }\n          }\n          puVar23 = puVar16 + 4;\n          bVar8 = 0;\n          puVar18 = puVar23 + (int)local_f0;\n          in_stack_fffffee8 = (char *)local_f0;\n          if (end <= puVar18) goto LAB_000567f7;\nLAB_00056caa:\n          eVar26 = (*byte_get)(puVar23,(int)in_stack_fffffee8);\n          eVar27 = eVar26;\n          if (this_set == (cu_tu_set *)0x0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = (uint)this_set->section_offsets[3];\n          local_98 = *(int *)((int)this_set->section_offsets + 0x1c);\n          local_ac = (dwarf_section *)this_set->section_sizes[3];\n        }\n        puVar16 = puVar18;\n        if (local_e2 < 5) {\n          puVar16 = puVar18 + 1;\n          if (puVar16 < end) {\n            in_stack_fffffee8 = (char *)0x1;\nLAB_00056c35:\n            eVar27 = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n            bVar8 = (byte)eVar27;\n            goto LAB_00056c57;\n          }\n          if ((puVar18 < end) &&\n             (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n             (undefined1 *)\n             ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U) <\n             (undefined1 *)0x8)) goto LAB_00056c35;\n          in_stack_fffffee8 = (char *)0x0;\nLAB_00056853:\n          pcVar13 = (char *)dcgettext(0,\n                                      "Invalid pointer size (%d) in compunit header, using %d instead\n"\n                                      ,5);\n          warn(pcVar13,in_stack_fffffee8,local_f0);\n          bVar8 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar8 - 2)) {\n            in_stack_fffffee8 = (char *)(uint)bVar8;\n            goto LAB_00056853;\n          }\n        }\n        local_bc._0_4_ = 0;\n        if (do_types != 0) {\n          puVar18 = puVar16 + 8;\n          if (end < puVar18) {\n            signature_high._0_4_ = (char *)0x0;\n            signature_high._4_4_ = 0;\n            signature_low._0_4_ = 0;\n            signature_low._4_4_ = 0;\n          }\n          else {\n            in_stack_fffffee8 = (char *)&signature_high;\n            byte_get_64(puVar16,(elf_vma *)in_stack_fffffee8,&signature_low);\n          }\n          puVar16 = puVar18 + (int)local_f0;\n          pdVar9 = local_f0;\n          if ((puVar16 < end) ||\n             ((local_bc._0_4_ = 0, puVar18 < end &&\n              (pdVar9 = (dwarf_section *)(end + -(int)puVar18),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar18))[-1].user_data + 3U) <\n              (undefined1 *)0x8)))) {\n            eVar27 = (*byte_get)(puVar18,(int)pdVar9);\n            local_bc._0_4_ = (uint)eVar27;\n            in_stack_fffffee8 = (char *)pdVar9;\n          }\n        }\n        uVar15 = dwarf_start_die;\n        local_a0 = (uint)(eVar26 >> 0x20);\n        local_b0 = (dwarf_section *)eVar26;\n        uVar14 = (int)local_d4 + uVar10;\n        if (local_ec._4_4_ + (uint)CARRY4(local_cc,(uint)local_ec) + iVar11 +\n            (uint)CARRY4(local_cc + (uint)local_ec,uVar10) <\n            (uint)(local_cc + (uint)local_ec + uVar10 < dwarf_start_die)) {\n          local_f4 = puVar1 + uVar14 + (uint)local_ec;\n        }\n        else {\n          if (do_loc == 0) {\n            if ((do_debug_loc != 0 || do_debug_ranges != 0) && (num_debug_info_entries == 0)) {\nLAB_00056993:\n              if (do_types == 0) {\n                pdVar24 = debug_information + local_a4;\n                pdVar24->pointer_size = (uint)bVar8;\n                *(int *)((int)&pdVar24->cu_offset + 4) = iVar11;\n                *(uint *)&pdVar24->cu_offset = uVar10;\n                pdVar24->offset_size = (uint)local_f0;\n                pdVar24->dwarf_version = (uint)local_e2;\n                *(undefined4 *)&pdVar24->base_address = 0;\n                *(undefined4 *)((int)&pdVar24->base_address + 4) = 0;\n                *(undefined4 *)&pdVar24->addr_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->addr_base + 4) = 0;\n                *(undefined4 *)&pdVar24->ranges_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->ranges_base + 4) = 0;\n                pdVar24->loc_offsets = (dwarf_vma *)0x0;\n                pdVar24->have_frame_base = (int *)0x0;\n                pdVar24->max_loc_offsets = 0;\n                pdVar24->num_loc_offsets = 0;\n                pdVar24->range_lists = (dwarf_vma *)0x0;\n                pdVar24->max_range_lists = 0;\n                pdVar24->num_range_lists = 0;\n              }\n              if (do_loc != 0) goto LAB_00056a44;\n            }\n            if (uVar15 == 0) {\n              pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n              pcVar13 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar13);\n              pcVar13 = "64-bit";\n              if (local_f0 != (dwarf_section *)0x8) {\n                pcVar13 = "32-bit";\n              }\n              pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar17) << 0x20,(uint)local_ec);\n              pcVar19 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar19,pcVar17,pcVar13);\n              pcVar13 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              uVar22 = (uint)local_e2;\n              printf(pcVar13);\n              pcVar13 = dwarf_vmatoa_1("x",(ulonglong)uVar22 << 0x20,(uint)local_b0);\n              pcVar17 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar17,pcVar13);\n              pcVar13 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              in_stack_fffffee8 = (char *)(uint)bVar8;\n              printf(pcVar13);\n              if (do_types != 0) {\n                pcVar13 = dwarf_vmatoa64(CONCAT44(signature_low._4_4_,(undefined4)signature_low),\n                                         CONCAT44(puVar29,buf),(char *)signature_high,\n                                         signature_high._4_4_);\n                pcVar17 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar17);\n                in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)local_bc);\n                pcVar13 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar13);\n              }\n              if (this_set != (cu_tu_set *)0x0) {\n                pcVar13 = "   Section contributions:\n";\n                pcVar17 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[3]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[3]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[4]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[4]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[5]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[5]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[6]);\n                in_stack_fffffee8 =\n                     dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)this_set->section_offsets[6]);\n                pcVar13 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar13,in_stack_fffffee8,pcVar17);\n              }\n            }\n          }\n          else if (num_debug_info_entries == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar22 = local_ec._4_4_ + (uint)CARRY4((uint)local_ec,uVar14);\n          if ((uVar22 < ((uint)local_ec + uVar14 < uVar14)) ||\n             (uVar2 = *(uint *)((int)&section->size + 4),\n             uVar2 < uVar22 ||\n             uVar2 - uVar22 < (uint)((uint)section->size < (uint)local_ec + uVar14))) {\n            pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,(uint)local_ec);\n            pcVar13 = section->name;\n            pcVar19 = (char *)dcgettext(0,\n                                        "Debug info is corrupted, %s header at %#lx has length %s\n"\n                                        ,5);\n            warn(pcVar19,pcVar13,uVar10,pcVar17);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + (int)local_d4 + (uint)local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              puVar29 = (uchar *)0x572c5;\n              free_abbrevs();\n              if (local_a0 < (local_b0 < local_ac)) {\n                iVar11 = abbrev_sec * 0x40;\n                pcVar13 = *(char **)(&DAT_000b485c + iVar11);\n                pdVar9 = (dwarf_section *)((int)&local_ac->uncompressed_name + local_9c);\n                uVar14 = local_98 + (uint)CARRY4((uint)local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + iVar11) < uVar14 ||\n                    *(uint *)(&DAT_000b4860 + iVar11) - uVar14 <\n                    (uint)(pcVar13 < (char *)((int)&local_ac->uncompressed_name + local_9c))) {\n                  pcVar17 = (char *)dcgettext(0,\n                                              "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                              ,5);\n                  warn(pcVar17,pdVar9,pcVar13);\n                  in_stack_fffffee8 = (char *)pdVar9;\n                }\n                else if (first_abbrev == (abbrev_entry *)0x0) {\n                  puVar29 = (uchar *)0x57341;\n                  process_abbrev_section\n                            ((uchar *)((int)&local_b0->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11) + local_9c),\n                             (uchar *)((int)&pdVar9->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11)));\n                }\n              }\n              else {\n                pcVar13 = (char *)dcgettext(0,\n                                            "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                            ,5);\n                warn(pcVar13,local_b0,local_ac);\n                in_stack_fffffee8 = (char *)local_b0;\n              }\n              if (puVar16 < local_f4) {\n                local_78 = (dwarf_section *)0xffffffff;\n                local_70 = (dwarf_section *)0x0;\n                local_d4 = (dwarf_section *)0x0;\n                do {\n                  pdVar12 = (dwarf_section *)(puVar16 + -(int)puVar1);\n                  pdVar9 = (dwarf_section *)0x0;\n                  in_stack_fffffee8 = buf;\n                  puVar29 = local_f4;\n                  dVar28 = read_leb128(puVar16,(uint *)buf,0,local_f4);\n                  uVar15 = (ulong)dVar28;\n                  puVar16 = puVar16 + buf._0_4_;\n                  if (uVar15 == 0) {\n                    if ((local_d4 == (dwarf_section *)0x0) && (end == local_f4)) {\n                      puVar18 = puVar16;\n                      if (puVar16 < local_f4) {\n                        while (*puVar18 == '\0') {\n                          puVar18 = puVar18 + 1;\n                          if (local_f4 == puVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == puVar16) break;\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         ((0 < dwarf_cutoff_level || (dwarf_cutoff_level == -1)))) {\n                        pdVar9 = (dwarf_section *)0xffffffff;\nLAB_00057496:\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar13,local_d4,pdVar12);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        if (-1 < (int)pdVar9) goto LAB_00057428;\n                      }\n                      else {\n                        pdVar9 = (dwarf_section *)0xffffffff;\n                        local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      }\nLAB_000574d0:\n                      in_stack_fffffee8 = (char *)local_d4;\n                      if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                          lexical_block_12_26_8::num_bogus_warns < 3) {\n                        pcVar13 = section->name;\n                        pcVar17 = (char *)dcgettext(0,\n                                                  "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                                  ,5);\n                        warn(pcVar17,pdVar12,pcVar13);\n                        process_debug_info::lexical_block_12::lexical_block_12_26::\n                        lexical_block_12_26_8::num_bogus_warns =\n                             process_debug_info::lexical_block_12::lexical_block_12_26::\n                             lexical_block_12_26_8::num_bogus_warns + 1;\n                        in_stack_fffffee8 = (char *)pdVar12;\n                        if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                            lexical_block_12_26_8::num_bogus_warns == 3) {\n                          in_stack_fffffee8 =\n                               "Further warnings about bogus end-of-sibling markers suppressed\n";\n                          pcVar13 = (char *)dcgettext(0,\n                                                  "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                                  ,5);\n                          warn(pcVar13);\n                        }\n                      }\n                    }\n                    else {\n                      pdVar9 = (dwarf_section *)((int)&local_d4[-1].user_data + 3);\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         (((int)local_d4 < dwarf_cutoff_level || (dwarf_cutoff_level == -1))))\n                      goto LAB_00057496;\n                      local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      if ((int)pdVar9 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = pdVar9;\n                    if ((dwarf_start_die != 0) && ((int)pdVar9 < (int)local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (do_loc == 0) {\n                      if (dwarf_start_die != 0) {\n                        if (pdVar12 < dwarf_start_die) {\n                          bVar20 = false;\n                          iVar11 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if ((dwarf_section *)dwarf_start_die == pdVar12) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar20 = dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level;\n                      if (dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level) {\n                        in_stack_fffffee8 = " <%d><%lx>: Abbrev Number: %lu";\n                        pdVar9 = (dwarf_section *)0x5;\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar13,local_d4,pdVar12,uVar15);\n                        local_70 = local_d4;\n                        iVar11 = 1;\n                      }\n                      else if ((int)local_70 < dwarf_cutoff_level) {\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        pdVar9 = pdVar12;\n                        printf(pcVar13,local_d4,pdVar12);\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                    }\n                    else {\n                      bVar20 = false;\n                      iVar11 = do_loc;\n                    }\nLAB_0005783c:\n                    if (first_abbrev == (abbrev_entry *)0x0) {\nLAB_00057dbe:\n                      if (bVar20) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      pcVar13 = (char *)dcgettext(0,\n                                                  "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                                  ,5);\n                      warn(pcVar13,pdVar12,uVar15);\n                      return 0;\n                    }\n                    uVar3 = first_abbrev->entry;\n                    paVar4 = first_abbrev;\n                    while (uVar3 != uVar15) {\n                      paVar4 = paVar4->next;\n                      if (paVar4 == (abbrev_entry *)0x0) goto LAB_00057dbe;\n                      uVar3 = paVar4->entry;\n                    }\n                    uVar15 = paVar4->tag;\n                    if (bVar20) {\n                      puVar29 = (uchar *)0x57bcc;\n                      in_stack_fffffee8 = get_TAG_name(uVar15);\n                      printf(" (%s)\n",in_stack_fffffee8,pdVar9);\n                      uVar15 = paVar4->tag;\n                    }\n                    if (uVar15 == 0x11) {\n                      need_base_address = 1;\n                      need_dwo_info = do_loc;\n                    }\n                    else if ((uVar15 == 0x2e) || (uVar15 == 3)) {\n                      need_base_address = 0;\n                      have_frame_base = 0;\n                    }\n                    else {\n                      need_base_address = 0;\n                    }\n                    if (((debug_information == (debug_info *)0x0) ||\n                        (alloc_num_debug_info_entries <= local_a4)) ||\n                       (pdVar24 = debug_information + local_a4, pdVar24 == (debug_info *)0x0)) {\n                      paVar25 = paVar4->first_attr;\n                      if ((paVar25 != (abbrev_attr *)0x0) &&\n                         (pdVar24 = (debug_info *)0x0, paVar25->attribute != 0)) {\nLAB_000578fa:\n                        local_bc = ZEXT48(local_f0);\n                        do {\n                          if (bVar20) {\n                            printf("    <%lx>",(int)puVar16 - (int)puVar1);\n                          }\n                          uVar15 = paVar25->form;\n                          implicit_const = paVar25->implicit_const;\n                          uVar3 = paVar25->attribute;\n                          if (iVar11 == 1 && do_loc == 0) {\n                            puVar29 = (uchar *)0x579ff;\n                            in_stack_fffffee8 = get_AT_name(uVar3);\n                            printf("   %-18s:");\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,\n                                                 ' ');\n                            putchar(10);\n                            paVar25 = paVar25->next;\n                          }\n                          else {\n                            puVar29 = (uchar *)0x20;\n                            in_stack_fffffee8 = (char *)section;\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ');\n                            paVar25 = paVar25->next;\n                          }\n                        } while ((paVar25 != (abbrev_attr *)0x0) && (paVar25->attribute != 0));\n                        if (pdVar24 != (debug_info *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (pdVar24->num_loc_offsets != pdVar24->num_loc_views) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      paVar25 = paVar4->first_attr;\n                      if (paVar25 != (abbrev_attr *)0x0) {\n                        if (paVar25->attribute != 0) goto LAB_000578fa;\nLAB_00057a88:\n                        uVar14 = pdVar24->num_loc_offsets;\n                        uVar22 = pdVar24->num_loc_views;\n                        if (uVar14 - uVar22 == 1) {\n                          pdVar6 = pdVar24->loc_views;\n                          *(undefined4 *)(pdVar6 + uVar22) = 0xffffffff;\n                          *(undefined4 *)((int)pdVar6 + uVar22 * 8 + 4) = 0xffffffff;\n                          pdVar24->num_loc_views = uVar22 + 1;\n                          if (uVar22 + 1 != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (uVar14 != uVar22) {\n                          if (uVar14 - uVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          in_stack_fffffee8 = "DIE has locviews without loclist\n";\n                          pcVar13 = (char *)dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(pcVar13);\n                          pdVar24->num_loc_views = pdVar24->num_loc_views - 1;\n                        }\n                      }\n                    }\n                    local_d4 = (dwarf_section *)\n                               ((int)&local_d4->uncompressed_name + (uint)(paVar4->children != 0));\n                  }\n                } while (puVar16 < local_f4);\n              }\n            }\n            else {\n              in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n              pcVar13 = (char *)dcgettext(0,\n                                          "CU at offset %s contains corrupt or unsupported unit type: %d.\n"\n                                          ,5);\n              warn(pcVar13,in_stack_fffffee8,local_b4);\n            }\n          }\n          else {\n            in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n            pcVar13 = (char *)dcgettext(0,\n                                        "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                                        ,5);\n            warn(pcVar13,in_stack_fffffee8,(uint)local_e2);\n          }\n        }\nLAB_00056ae6:\n        local_a4 = local_a4 + 1;\n      } while (local_f4 < end);\n      if (do_loc != 0) goto LAB_00057752;\n    }\n    if ((do_debug_loc == 0 && do_debug_ranges == 0) ||\n       (do_types != 0 || num_debug_info_entries != 0)) goto LAB_00056b59;\n  }\n  else {\n    if (do_types == 0 && num_debug_info_entries == 0) goto LAB_00056b86;\n    puVar29 = (uchar *)0x5770c;\n    load_debug_section_with_follow(abbrev_sec,file);\n    if (*(int *)(&DAT_000b4850 + abbrev_sec * 0x40) == 0) goto LAB_00057bf6;\n    local_90 = 0;\n    if (puVar1 < end) goto LAB_0005662b;\nLAB_00057752:\n    if (do_types != 0 || num_debug_info_entries != 0) {\n      return 1;\n    }\n  }" if (parenthesized_expression "(do_loc == 0)" ( (binary_expression "do_loc == 0" identifier == number_literal) )) (compound_statement "{\n    if ((do_debug_loc == 0 && do_debug_ranges == 0) ||\n       (do_types != 0 || num_debug_info_entries != 0)) {\n      local_90 = 0;\n    }\n    else {\nLAB_00056b86:\n      local_90 = 0;\n      puVar29 = puVar1;\n      if (end <= puVar1) {\nLAB_00057e2b:\n        pcVar13 = section->name;\n        pcVar17 = (char *)dcgettext(0,"No comp units in %s section ?\n",5);\n        error(pcVar17,pcVar13);\n        return 0;\n      }\n      do {\n        puVar18 = puVar29 + 4;\n        if (end <= puVar18) {\n          pdVar12 = (dwarf_section *)(end + -(int)puVar29);\n          pdVar9 = (dwarf_section *)in_stack_fffffee8;\n          if ((undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)\n          goto LAB_000570ed;\nLAB_00056bdb:\n          in_stack_fffffee8 = (char *)pdVar9;\n          uVar10 = 0;\nLAB_00056bdf:\n          pcVar17 = section->name;\n          pcVar19 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n          pcVar13 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          pcVar13 = (char *)dcgettext(0,pcVar13,5);\n          warn(pcVar13,pcVar19,pcVar17);\n          return 0;\n        }\n        pdVar12 = (dwarf_section *)0x4;\nLAB_000570ed:\n        eVar26 = (*byte_get)(puVar29,(int)pdVar12);\n        uVar10 = (uint)eVar26;\n        if (eVar26 == 0xffffffff) {\n          if (puVar29 + 0xc < end) {\n            in_stack_fffffee8 = (char *)0x8;\n          }\n          else {\n            pdVar9 = pdVar12;\n            if ((end <= puVar18) ||\n               (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n               (undefined1 *)0x7 <\n               (undefined1 *)\n               ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U)))\n            goto LAB_00056bdb;\n          }\n          eVar26 = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n          uVar10 = (uint)eVar26;\n          puVar29 = puVar29 + uVar10 + 0xc;\n          bVar20 = puVar29 < puVar1 || (int)uVar10 < 1;\n        }\n        else {\n          local_104._4_4_ = (int)(eVar26 - 0xfffffff0 >> 0x20);\n          if (local_104._4_4_ == 0 && (uint)(0xe < (uint)local_104) <= (uint)-local_104._4_4_) {\n            pcVar17 = section->name;\n            pcVar19 = dwarf_vmatoa_1("x",ZEXT48(pdVar12) << 0x20,uVar10);\n            pcVar13 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          puVar29 = puVar29 + uVar10 + 4;\n          bVar20 = (int)uVar10 < 1 || puVar29 < puVar1;\n          in_stack_fffffee8 = (char *)pdVar12;\n          local_104 = eVar26 - 0xfffffff0;\n        }\n        if (bVar20) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      } while (puVar29 < end);\n      if (local_90 == 0) goto LAB_00057e2b;\n      if (0x3333332 < local_90) {\n        debug_information = (debug_info *)0x0;\n        pcVar13 = (char *)dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(pcVar13,local_90);\n        alloc_num_debug_info_entries = 0;\n        num_debug_info_entries = 0;\n        return 0;\n      }\n      debug_information = (debug_info *)xmalloc(local_90 * 0x50);\n      in_stack_fffffee8 = (char *)0x0;\n      memset(debug_information,0,local_90 * 0x50);\n      alloc_num_debug_info_entries = local_90;\n      if (do_loc != 0) {\n        puVar29 = (uchar *)0x571d3;\n        load_debug_section_with_follow(abbrev_sec,file);\n        if (*(int *)(&DAT_000b4850 + abbrev_sec * 0x40) == 0) goto LAB_00057bf6;\n        do_types = 0;\n        goto LAB_0005662b;\n      }\n    }\n    load_debug_section_with_follow(str,file);\n    load_debug_section_with_follow(line_str,file);\n    load_debug_section_with_follow(str_dwo,file);\n    load_debug_section_with_follow(str_index,file);\n    load_debug_section_with_follow(str_index_dwo,file);\n    load_debug_section_with_follow(debug_addr,file);\n    puVar29 = (uchar *)0x565e3;\n    load_debug_section_with_follow(abbrev_sec,file);\n    if (*(int *)(&DAT_000b4850 + abbrev_sec * 0x40) == 0) {\nLAB_00057bf6:\n      puVar5 = (&debug_displays)[abbrev_sec * 0x10];\n      pcVar13 = (char *)dcgettext(0,"Unable to locate %s section!\n",5);\n      warn(pcVar13,puVar5);\n      return 0;\n    }\n    if (dwarf_start_die == 0) {\n      puVar29 = (uchar *)0x57d63;\n      introduce((dwarf_section *)section->name,(bfd_boolean)&section->filename,section_1);\n    }\n    if (puVar1 < end) {\nLAB_0005662b:\n      local_a4 = 0;\n      local_f4 = puVar1;\n      do {\n        signature_high._0_4_ = (char *)0x0;\n        signature_high._4_4_ = 0;\n        signature_low._0_4_ = 0;\n        puVar18 = local_f4 + 4;\n        signature_low._4_4_ = 0;\n        puVar16 = puVar18;\n        if (puVar18 < end) {\n          pdVar9 = (dwarf_section *)0x4;\nLAB_00056d25:\n          local_ec = (*byte_get)(local_f4,(int)pdVar9);\n          if (local_ec == 0xffffffff) {\n            puVar16 = local_f4 + 0xc;\n            if (puVar16 < end) {\n              in_stack_fffffee8 = (char *)0x8;\n            }\n            else if ((end <= puVar18) ||\n                    (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n                    (undefined1 *)0x7 <\n                    (undefined1 *)\n                    ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U))) {\n              local_cc = 0xc;\n              puVar23 = local_f4 + 0xe;\n              local_d4 = (dwarf_section *)0xc;\n              local_f0 = (dwarf_section *)0x8;\n              in_stack_fffffee8 = (char *)pdVar9;\n              goto joined_r0x00056d9b;\n            }\n            puVar23 = local_f4 + 0xe;\n            local_ec = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n            local_cc = 0xc;\n            local_d4 = (dwarf_section *)0xc;\n            local_f0 = (dwarf_section *)0x8;\n          }\n          else {\n            puVar23 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = (dwarf_section *)0x4;\n            local_f0 = (dwarf_section *)0x4;\n            in_stack_fffffee8 = (char *)pdVar9;\n          }\n          if (puVar23 < end) {\n            pdVar9 = (dwarf_section *)0x2;\n          }\n          else if ((end <= puVar16) ||\n                  (pdVar9 = (dwarf_section *)(end + -(int)puVar16),\n                  (undefined1 *)0x7 < (undefined1 *)((int)&pdVar9[-1].user_data + 3U)))\n          goto LAB_00056db1;\nLAB_000566e9:\n          eVar26 = (*byte_get)(puVar16,(int)pdVar9);\n          local_e2 = (ushort)eVar26;\n          in_stack_fffffee8 = (char *)pdVar9;\n        }\n        else {\n          pdVar9 = (dwarf_section *)(end + -(int)local_f4);\n          if ((undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8)\n          goto LAB_00056d25;\n          local_cc = 4;\n          puVar23 = local_f4 + 6;\n          local_d4 = (dwarf_section *)0x4;\n          local_f0 = (dwarf_section *)0x4;\njoined_r0x00056d9b:\n          if (puVar23 < end) {\n            pdVar9 = (dwarf_section *)0x2;\n            local_ec = 0;\n            goto LAB_000566e9;\n          }\n          local_ec = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }\n        uVar10 = (int)local_f4 - (int)puVar1;\n        iVar11 = (int)uVar10 >> 0x1f;\n        if (do_types == 0) {\n          iVar21 = 1;\n          iVar7 = cu_count;\n          this_set = cu_sets;\n        }\n        else {\n          iVar21 = 2;\n          iVar7 = tu_count;\n          this_set = tu_sets;\n        }\n        for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (iVar11 == *(int *)((int)this_set->section_offsets + iVar21 * 8 + 4) &&\n              uVar10 == (uint)this_set->section_offsets[iVar21]) goto joined_r0x0005676e;\n          this_set = this_set + 1;\n        }\n        this_set = (cu_tu_set *)0x0;\njoined_r0x0005676e:\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar8 = 0xff;\n          pdVar9 = (dwarf_section *)in_stack_fffffee8;\njoined_r0x000567df:\n          puVar18 = puVar23 + (int)local_f0;\n          in_stack_fffffee8 = (char *)local_f0;\n          if ((puVar18 < end) ||\n             ((puVar23 < end &&\n              (in_stack_fffffee8 = (char *)(end + -(int)puVar23),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar23))[-1].user_data + 3U) <\n              (undefined1 *)0x8)))) goto LAB_00056caa;\nLAB_000567f7:\n          eVar26 = 0;\n          in_stack_fffffee8 = (char *)pdVar9;\n          eVar27 = 0;\n          if (this_set != (cu_tu_set *)0x0) goto LAB_0005680f;\nLAB_00056cce:\n          eVar26 = eVar27;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(dwarf_section **)(&DAT_000b485c + abbrev_sec * 0x40);\n        }\n        else {\n          puVar18 = puVar16 + 3;\n          if (puVar18 < end) {\n            pdVar9 = (dwarf_section *)0x1;\nLAB_00057245:\n            eVar26 = (*byte_get)(puVar23,(int)pdVar9);\n            local_b4 = (int)eVar26;\n            do_types = (bfd_boolean)(local_b4 == 2);\n            pdVar12 = (dwarf_section *)0x1;\n            if ((puVar16 + 4 < end) ||\n               ((puVar18 < end &&\n                (pdVar12 = (dwarf_section *)(end + -(int)puVar18),\n                (undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)))) {\nLAB_000567c4:\n              puVar23 = puVar16 + 4;\n              eVar26 = (*byte_get)(puVar18,(int)pdVar12);\n              bVar8 = (byte)eVar26;\n              pdVar9 = pdVar12;\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((puVar23 < end) &&\n               (pdVar9 = (dwarf_section *)(end + -(int)puVar23),\n               (undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8))\n            goto LAB_00057245;\n            do_types = 0;\n            local_b4 = 0;\n            pdVar9 = (dwarf_section *)in_stack_fffffee8;\n            if (puVar16 + 4 < end) {\n              pdVar12 = (dwarf_section *)0x1;\n              goto LAB_000567c4;\n            }\n          }\n          puVar23 = puVar16 + 4;\n          bVar8 = 0;\n          puVar18 = puVar23 + (int)local_f0;\n          in_stack_fffffee8 = (char *)local_f0;\n          if (end <= puVar18) goto LAB_000567f7;\nLAB_00056caa:\n          eVar26 = (*byte_get)(puVar23,(int)in_stack_fffffee8);\n          eVar27 = eVar26;\n          if (this_set == (cu_tu_set *)0x0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = (uint)this_set->section_offsets[3];\n          local_98 = *(int *)((int)this_set->section_offsets + 0x1c);\n          local_ac = (dwarf_section *)this_set->section_sizes[3];\n        }\n        puVar16 = puVar18;\n        if (local_e2 < 5) {\n          puVar16 = puVar18 + 1;\n          if (puVar16 < end) {\n            in_stack_fffffee8 = (char *)0x1;\nLAB_00056c35:\n            eVar27 = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n            bVar8 = (byte)eVar27;\n            goto LAB_00056c57;\n          }\n          if ((puVar18 < end) &&\n             (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n             (undefined1 *)\n             ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U) <\n             (undefined1 *)0x8)) goto LAB_00056c35;\n          in_stack_fffffee8 = (char *)0x0;\nLAB_00056853:\n          pcVar13 = (char *)dcgettext(0,\n                                      "Invalid pointer size (%d) in compunit header, using %d instead\n"\n                                      ,5);\n          warn(pcVar13,in_stack_fffffee8,local_f0);\n          bVar8 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar8 - 2)) {\n            in_stack_fffffee8 = (char *)(uint)bVar8;\n            goto LAB_00056853;\n          }\n        }\n        local_bc._0_4_ = 0;\n        if (do_types != 0) {\n          puVar18 = puVar16 + 8;\n          if (end < puVar18) {\n            signature_high._0_4_ = (char *)0x0;\n            signature_high._4_4_ = 0;\n            signature_low._0_4_ = 0;\n            signature_low._4_4_ = 0;\n          }\n          else {\n            in_stack_fffffee8 = (char *)&signature_high;\n            byte_get_64(puVar16,(elf_vma *)in_stack_fffffee8,&signature_low);\n          }\n          puVar16 = puVar18 + (int)local_f0;\n          pdVar9 = local_f0;\n          if ((puVar16 < end) ||\n             ((local_bc._0_4_ = 0, puVar18 < end &&\n              (pdVar9 = (dwarf_section *)(end + -(int)puVar18),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar18))[-1].user_data + 3U) <\n              (undefined1 *)0x8)))) {\n            eVar27 = (*byte_get)(puVar18,(int)pdVar9);\n            local_bc._0_4_ = (uint)eVar27;\n            in_stack_fffffee8 = (char *)pdVar9;\n          }\n        }\n        uVar15 = dwarf_start_die;\n        local_a0 = (uint)(eVar26 >> 0x20);\n        local_b0 = (dwarf_section *)eVar26;\n        uVar14 = (int)local_d4 + uVar10;\n        if (local_ec._4_4_ + (uint)CARRY4(local_cc,(uint)local_ec) + iVar11 +\n            (uint)CARRY4(local_cc + (uint)local_ec,uVar10) <\n            (uint)(local_cc + (uint)local_ec + uVar10 < dwarf_start_die)) {\n          local_f4 = puVar1 + uVar14 + (uint)local_ec;\n        }\n        else {\n          if (do_loc == 0) {\n            if ((do_debug_loc != 0 || do_debug_ranges != 0) && (num_debug_info_entries == 0)) {\nLAB_00056993:\n              if (do_types == 0) {\n                pdVar24 = debug_information + local_a4;\n                pdVar24->pointer_size = (uint)bVar8;\n                *(int *)((int)&pdVar24->cu_offset + 4) = iVar11;\n                *(uint *)&pdVar24->cu_offset = uVar10;\n                pdVar24->offset_size = (uint)local_f0;\n                pdVar24->dwarf_version = (uint)local_e2;\n                *(undefined4 *)&pdVar24->base_address = 0;\n                *(undefined4 *)((int)&pdVar24->base_address + 4) = 0;\n                *(undefined4 *)&pdVar24->addr_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->addr_base + 4) = 0;\n                *(undefined4 *)&pdVar24->ranges_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->ranges_base + 4) = 0;\n                pdVar24->loc_offsets = (dwarf_vma *)0x0;\n                pdVar24->have_frame_base = (int *)0x0;\n                pdVar24->max_loc_offsets = 0;\n                pdVar24->num_loc_offsets = 0;\n                pdVar24->range_lists = (dwarf_vma *)0x0;\n                pdVar24->max_range_lists = 0;\n                pdVar24->num_range_lists = 0;\n              }\n              if (do_loc != 0) goto LAB_00056a44;\n            }\n            if (uVar15 == 0) {\n              pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n              pcVar13 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar13);\n              pcVar13 = "64-bit";\n              if (local_f0 != (dwarf_section *)0x8) {\n                pcVar13 = "32-bit";\n              }\n              pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar17) << 0x20,(uint)local_ec);\n              pcVar19 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar19,pcVar17,pcVar13);\n              pcVar13 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              uVar22 = (uint)local_e2;\n              printf(pcVar13);\n              pcVar13 = dwarf_vmatoa_1("x",(ulonglong)uVar22 << 0x20,(uint)local_b0);\n              pcVar17 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar17,pcVar13);\n              pcVar13 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              in_stack_fffffee8 = (char *)(uint)bVar8;\n              printf(pcVar13);\n              if (do_types != 0) {\n                pcVar13 = dwarf_vmatoa64(CONCAT44(signature_low._4_4_,(undefined4)signature_low),\n                                         CONCAT44(puVar29,buf),(char *)signature_high,\n                                         signature_high._4_4_);\n                pcVar17 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar17);\n                in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)local_bc);\n                pcVar13 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar13);\n              }\n              if (this_set != (cu_tu_set *)0x0) {\n                pcVar13 = "   Section contributions:\n";\n                pcVar17 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[3]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[3]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[4]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[4]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[5]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[5]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[6]);\n                in_stack_fffffee8 =\n                     dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)this_set->section_offsets[6]);\n                pcVar13 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar13,in_stack_fffffee8,pcVar17);\n              }\n            }\n          }\n          else if (num_debug_info_entries == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar22 = local_ec._4_4_ + (uint)CARRY4((uint)local_ec,uVar14);\n          if ((uVar22 < ((uint)local_ec + uVar14 < uVar14)) ||\n             (uVar2 = *(uint *)((int)&section->size + 4),\n             uVar2 < uVar22 ||\n             uVar2 - uVar22 < (uint)((uint)section->size < (uint)local_ec + uVar14))) {\n            pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,(uint)local_ec);\n            pcVar13 = section->name;\n            pcVar19 = (char *)dcgettext(0,\n                                        "Debug info is corrupted, %s header at %#lx has length %s\n"\n                                        ,5);\n            warn(pcVar19,pcVar13,uVar10,pcVar17);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + (int)local_d4 + (uint)local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              puVar29 = (uchar *)0x572c5;\n              free_abbrevs();\n              if (local_a0 < (local_b0 < local_ac)) {\n                iVar11 = abbrev_sec * 0x40;\n                pcVar13 = *(char **)(&DAT_000b485c + iVar11);\n                pdVar9 = (dwarf_section *)((int)&local_ac->uncompressed_name + local_9c);\n                uVar14 = local_98 + (uint)CARRY4((uint)local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + iVar11) < uVar14 ||\n                    *(uint *)(&DAT_000b4860 + iVar11) - uVar14 <\n                    (uint)(pcVar13 < (char *)((int)&local_ac->uncompressed_name + local_9c))) {\n                  pcVar17 = (char *)dcgettext(0,\n                                              "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                              ,5);\n                  warn(pcVar17,pdVar9,pcVar13);\n                  in_stack_fffffee8 = (char *)pdVar9;\n                }\n                else if (first_abbrev == (abbrev_entry *)0x0) {\n                  puVar29 = (uchar *)0x57341;\n                  process_abbrev_section\n                            ((uchar *)((int)&local_b0->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11) + local_9c),\n                             (uchar *)((int)&pdVar9->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11)));\n                }\n              }\n              else {\n                pcVar13 = (char *)dcgettext(0,\n                                            "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                            ,5);\n                warn(pcVar13,local_b0,local_ac);\n                in_stack_fffffee8 = (char *)local_b0;\n              }\n              if (puVar16 < local_f4) {\n                local_78 = (dwarf_section *)0xffffffff;\n                local_70 = (dwarf_section *)0x0;\n                local_d4 = (dwarf_section *)0x0;\n                do {\n                  pdVar12 = (dwarf_section *)(puVar16 + -(int)puVar1);\n                  pdVar9 = (dwarf_section *)0x0;\n                  in_stack_fffffee8 = buf;\n                  puVar29 = local_f4;\n                  dVar28 = read_leb128(puVar16,(uint *)buf,0,local_f4);\n                  uVar15 = (ulong)dVar28;\n                  puVar16 = puVar16 + buf._0_4_;\n                  if (uVar15 == 0) {\n                    if ((local_d4 == (dwarf_section *)0x0) && (end == local_f4)) {\n                      puVar18 = puVar16;\n                      if (puVar16 < local_f4) {\n                        while (*puVar18 == '\0') {\n                          puVar18 = puVar18 + 1;\n                          if (local_f4 == puVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == puVar16) break;\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         ((0 < dwarf_cutoff_level || (dwarf_cutoff_level == -1)))) {\n                        pdVar9 = (dwarf_section *)0xffffffff;\nLAB_00057496:\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar13,local_d4,pdVar12);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        if (-1 < (int)pdVar9) goto LAB_00057428;\n                      }\n                      else {\n                        pdVar9 = (dwarf_section *)0xffffffff;\n                        local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      }\nLAB_000574d0:\n                      in_stack_fffffee8 = (char *)local_d4;\n                      if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                          lexical_block_12_26_8::num_bogus_warns < 3) {\n                        pcVar13 = section->name;\n                        pcVar17 = (char *)dcgettext(0,\n                                                  "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                                  ,5);\n                        warn(pcVar17,pdVar12,pcVar13);\n                        process_debug_info::lexical_block_12::lexical_block_12_26::\n                        lexical_block_12_26_8::num_bogus_warns =\n                             process_debug_info::lexical_block_12::lexical_block_12_26::\n                             lexical_block_12_26_8::num_bogus_warns + 1;\n                        in_stack_fffffee8 = (char *)pdVar12;\n                        if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                            lexical_block_12_26_8::num_bogus_warns == 3) {\n                          in_stack_fffffee8 =\n                               "Further warnings about bogus end-of-sibling markers suppressed\n";\n                          pcVar13 = (char *)dcgettext(0,\n                                                  "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                                  ,5);\n                          warn(pcVar13);\n                        }\n                      }\n                    }\n                    else {\n                      pdVar9 = (dwarf_section *)((int)&local_d4[-1].user_data + 3);\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         (((int)local_d4 < dwarf_cutoff_level || (dwarf_cutoff_level == -1))))\n                      goto LAB_00057496;\n                      local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      if ((int)pdVar9 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = pdVar9;\n                    if ((dwarf_start_die != 0) && ((int)pdVar9 < (int)local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (do_loc == 0) {\n                      if (dwarf_start_die != 0) {\n                        if (pdVar12 < dwarf_start_die) {\n                          bVar20 = false;\n                          iVar11 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if ((dwarf_section *)dwarf_start_die == pdVar12) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar20 = dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level;\n                      if (dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level) {\n                        in_stack_fffffee8 = " <%d><%lx>: Abbrev Number: %lu";\n                        pdVar9 = (dwarf_section *)0x5;\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar13,local_d4,pdVar12,uVar15);\n                        local_70 = local_d4;\n                        iVar11 = 1;\n                      }\n                      else if ((int)local_70 < dwarf_cutoff_level) {\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        pdVar9 = pdVar12;\n                        printf(pcVar13,local_d4,pdVar12);\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                    }\n                    else {\n                      bVar20 = false;\n                      iVar11 = do_loc;\n                    }\nLAB_0005783c:\n                    if (first_abbrev == (abbrev_entry *)0x0) {\nLAB_00057dbe:\n                      if (bVar20) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      pcVar13 = (char *)dcgettext(0,\n                                                  "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                                  ,5);\n                      warn(pcVar13,pdVar12,uVar15);\n                      return 0;\n                    }\n                    uVar3 = first_abbrev->entry;\n                    paVar4 = first_abbrev;\n                    while (uVar3 != uVar15) {\n                      paVar4 = paVar4->next;\n                      if (paVar4 == (abbrev_entry *)0x0) goto LAB_00057dbe;\n                      uVar3 = paVar4->entry;\n                    }\n                    uVar15 = paVar4->tag;\n                    if (bVar20) {\n                      puVar29 = (uchar *)0x57bcc;\n                      in_stack_fffffee8 = get_TAG_name(uVar15);\n                      printf(" (%s)\n",in_stack_fffffee8,pdVar9);\n                      uVar15 = paVar4->tag;\n                    }\n                    if (uVar15 == 0x11) {\n                      need_base_address = 1;\n                      need_dwo_info = do_loc;\n                    }\n                    else if ((uVar15 == 0x2e) || (uVar15 == 3)) {\n                      need_base_address = 0;\n                      have_frame_base = 0;\n                    }\n                    else {\n                      need_base_address = 0;\n                    }\n                    if (((debug_information == (debug_info *)0x0) ||\n                        (alloc_num_debug_info_entries <= local_a4)) ||\n                       (pdVar24 = debug_information + local_a4, pdVar24 == (debug_info *)0x0)) {\n                      paVar25 = paVar4->first_attr;\n                      if ((paVar25 != (abbrev_attr *)0x0) &&\n                         (pdVar24 = (debug_info *)0x0, paVar25->attribute != 0)) {\nLAB_000578fa:\n                        local_bc = ZEXT48(local_f0);\n                        do {\n                          if (bVar20) {\n                            printf("    <%lx>",(int)puVar16 - (int)puVar1);\n                          }\n                          uVar15 = paVar25->form;\n                          implicit_const = paVar25->implicit_const;\n                          uVar3 = paVar25->attribute;\n                          if (iVar11 == 1 && do_loc == 0) {\n                            puVar29 = (uchar *)0x579ff;\n                            in_stack_fffffee8 = get_AT_name(uVar3);\n                            printf("   %-18s:");\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,\n                                                 ' ');\n                            putchar(10);\n                            paVar25 = paVar25->next;\n                          }\n                          else {\n                            puVar29 = (uchar *)0x20;\n                            in_stack_fffffee8 = (char *)section;\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ');\n                            paVar25 = paVar25->next;\n                          }\n                        } while ((paVar25 != (abbrev_attr *)0x0) && (paVar25->attribute != 0));\n                        if (pdVar24 != (debug_info *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (pdVar24->num_loc_offsets != pdVar24->num_loc_views) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      paVar25 = paVar4->first_attr;\n                      if (paVar25 != (abbrev_attr *)0x0) {\n                        if (paVar25->attribute != 0) goto LAB_000578fa;\nLAB_00057a88:\n                        uVar14 = pdVar24->num_loc_offsets;\n                        uVar22 = pdVar24->num_loc_views;\n                        if (uVar14 - uVar22 == 1) {\n                          pdVar6 = pdVar24->loc_views;\n                          *(undefined4 *)(pdVar6 + uVar22) = 0xffffffff;\n                          *(undefined4 *)((int)pdVar6 + uVar22 * 8 + 4) = 0xffffffff;\n                          pdVar24->num_loc_views = uVar22 + 1;\n                          if (uVar22 + 1 != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (uVar14 != uVar22) {\n                          if (uVar14 - uVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          in_stack_fffffee8 = "DIE has locviews without loclist\n";\n                          pcVar13 = (char *)dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(pcVar13);\n                          pdVar24->num_loc_views = pdVar24->num_loc_views - 1;\n                        }\n                      }\n                    }\n                    local_d4 = (dwarf_section *)\n                               ((int)&local_d4->uncompressed_name + (uint)(paVar4->children != 0));\n                  }\n                } while (puVar16 < local_f4);\n              }\n            }\n            else {\n              in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n              pcVar13 = (char *)dcgettext(0,\n                                          "CU at offset %s contains corrupt or unsupported unit type: %d.\n"\n                                          ,5);\n              warn(pcVar13,in_stack_fffffee8,local_b4);\n            }\n          }\n          else {\n            in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n            pcVar13 = (char *)dcgettext(0,\n                                        "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                                        ,5);\n            warn(pcVar13,in_stack_fffffee8,(uint)local_e2);\n          }\n        }\nLAB_00056ae6:\n        local_a4 = local_a4 + 1;\n      } while (local_f4 < end);\n      if (do_loc != 0) goto LAB_00057752;\n    }\n    if ((do_debug_loc == 0 && do_debug_ranges == 0) ||\n       (do_types != 0 || num_debug_info_entries != 0)) goto LAB_00056b59;\n  }" { (if_statement "if ((do_debug_loc == 0 && do_debug_ranges == 0) ||\n       (do_types != 0 || num_debug_info_entries != 0)) {\n      local_90 = 0;\n    }\n    else {\nLAB_00056b86:\n      local_90 = 0;\n      puVar29 = puVar1;\n      if (end <= puVar1) {\nLAB_00057e2b:\n        pcVar13 = section->name;\n        pcVar17 = (char *)dcgettext(0,"No comp units in %s section ?\n",5);\n        error(pcVar17,pcVar13);\n        return 0;\n      }\n      do {\n        puVar18 = puVar29 + 4;\n        if (end <= puVar18) {\n          pdVar12 = (dwarf_section *)(end + -(int)puVar29);\n          pdVar9 = (dwarf_section *)in_stack_fffffee8;\n          if ((undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)\n          goto LAB_000570ed;\nLAB_00056bdb:\n          in_stack_fffffee8 = (char *)pdVar9;\n          uVar10 = 0;\nLAB_00056bdf:\n          pcVar17 = section->name;\n          pcVar19 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n          pcVar13 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          pcVar13 = (char *)dcgettext(0,pcVar13,5);\n          warn(pcVar13,pcVar19,pcVar17);\n          return 0;\n        }\n        pdVar12 = (dwarf_section *)0x4;\nLAB_000570ed:\n        eVar26 = (*byte_get)(puVar29,(int)pdVar12);\n        uVar10 = (uint)eVar26;\n        if (eVar26 == 0xffffffff) {\n          if (puVar29 + 0xc < end) {\n            in_stack_fffffee8 = (char *)0x8;\n          }\n          else {\n            pdVar9 = pdVar12;\n            if ((end <= puVar18) ||\n               (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n               (undefined1 *)0x7 <\n               (undefined1 *)\n               ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U)))\n            goto LAB_00056bdb;\n          }\n          eVar26 = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n          uVar10 = (uint)eVar26;\n          puVar29 = puVar29 + uVar10 + 0xc;\n          bVar20 = puVar29 < puVar1 || (int)uVar10 < 1;\n        }\n        else {\n          local_104._4_4_ = (int)(eVar26 - 0xfffffff0 >> 0x20);\n          if (local_104._4_4_ == 0 && (uint)(0xe < (uint)local_104) <= (uint)-local_104._4_4_) {\n            pcVar17 = section->name;\n            pcVar19 = dwarf_vmatoa_1("x",ZEXT48(pdVar12) << 0x20,uVar10);\n            pcVar13 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          puVar29 = puVar29 + uVar10 + 4;\n          bVar20 = (int)uVar10 < 1 || puVar29 < puVar1;\n          in_stack_fffffee8 = (char *)pdVar12;\n          local_104 = eVar26 - 0xfffffff0;\n        }\n        if (bVar20) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      } while (puVar29 < end);\n      if (local_90 == 0) goto LAB_00057e2b;\n      if (0x3333332 < local_90) {\n        debug_information = (debug_info *)0x0;\n        pcVar13 = (char *)dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(pcVar13,local_90);\n        alloc_num_debug_info_entries = 0;\n        num_debug_info_entries = 0;\n        return 0;\n      }\n      debug_information = (debug_info *)xmalloc(local_90 * 0x50);\n      in_stack_fffffee8 = (char *)0x0;\n      memset(debug_information,0,local_90 * 0x50);\n      alloc_num_debug_info_entries = local_90;\n      if (do_loc != 0) {\n        puVar29 = (uchar *)0x571d3;\n        load_debug_section_with_follow(abbrev_sec,file);\n        if (*(int *)(&DAT_000b4850 + abbrev_sec * 0x40) == 0) goto LAB_00057bf6;\n        do_types = 0;\n        goto LAB_0005662b;\n      }\n    }" if (parenthesized_expression "((do_debug_loc == 0 && do_debug_ranges == 0) ||\n       (do_types != 0 || num_debug_info_entries != 0))" ( (binary_expression "(do_debug_loc == 0 && do_debug_ranges == 0) ||\n       (do_types != 0 || num_debug_info_entries != 0)" (parenthesized_expression "(do_debug_loc == 0 && do_debug_ranges == 0)" ( (binary_expression "do_debug_loc == 0 && do_debug_ranges == 0" (binary_expression "do_debug_loc == 0" identifier == number_literal) && (binary_expression "do_debug_ranges == 0" identifier == number_literal)) )) || (parenthesized_expression "(do_types != 0 || num_debug_info_entries != 0)" ( (binary_expression "do_types != 0 || num_debug_info_entries != 0" (binary_expression "do_types != 0" identifier != number_literal) || (binary_expression "num_debug_info_entries != 0" identifier != number_literal)) ))) )) (compound_statement "{\n      local_90 = 0;\n    }" { (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) }) (else_clause "else {\nLAB_00056b86:\n      local_90 = 0;\n      puVar29 = puVar1;\n      if (end <= puVar1) {\nLAB_00057e2b:\n        pcVar13 = section->name;\n        pcVar17 = (char *)dcgettext(0,"No comp units in %s section ?\n",5);\n        error(pcVar17,pcVar13);\n        return 0;\n      }\n      do {\n        puVar18 = puVar29 + 4;\n        if (end <= puVar18) {\n          pdVar12 = (dwarf_section *)(end + -(int)puVar29);\n          pdVar9 = (dwarf_section *)in_stack_fffffee8;\n          if ((undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)\n          goto LAB_000570ed;\nLAB_00056bdb:\n          in_stack_fffffee8 = (char *)pdVar9;\n          uVar10 = 0;\nLAB_00056bdf:\n          pcVar17 = section->name;\n          pcVar19 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n          pcVar13 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          pcVar13 = (char *)dcgettext(0,pcVar13,5);\n          warn(pcVar13,pcVar19,pcVar17);\n          return 0;\n        }\n        pdVar12 = (dwarf_section *)0x4;\nLAB_000570ed:\n        eVar26 = (*byte_get)(puVar29,(int)pdVar12);\n        uVar10 = (uint)eVar26;\n        if (eVar26 == 0xffffffff) {\n          if (puVar29 + 0xc < end) {\n            in_stack_fffffee8 = (char *)0x8;\n          }\n          else {\n            pdVar9 = pdVar12;\n            if ((end <= puVar18) ||\n               (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n               (undefined1 *)0x7 <\n               (undefined1 *)\n               ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U)))\n            goto LAB_00056bdb;\n          }\n          eVar26 = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n          uVar10 = (uint)eVar26;\n          puVar29 = puVar29 + uVar10 + 0xc;\n          bVar20 = puVar29 < puVar1 || (int)uVar10 < 1;\n        }\n        else {\n          local_104._4_4_ = (int)(eVar26 - 0xfffffff0 >> 0x20);\n          if (local_104._4_4_ == 0 && (uint)(0xe < (uint)local_104) <= (uint)-local_104._4_4_) {\n            pcVar17 = section->name;\n            pcVar19 = dwarf_vmatoa_1("x",ZEXT48(pdVar12) << 0x20,uVar10);\n            pcVar13 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          puVar29 = puVar29 + uVar10 + 4;\n          bVar20 = (int)uVar10 < 1 || puVar29 < puVar1;\n          in_stack_fffffee8 = (char *)pdVar12;\n          local_104 = eVar26 - 0xfffffff0;\n        }\n        if (bVar20) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      } while (puVar29 < end);\n      if (local_90 == 0) goto LAB_00057e2b;\n      if (0x3333332 < local_90) {\n        debug_information = (debug_info *)0x0;\n        pcVar13 = (char *)dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(pcVar13,local_90);\n        alloc_num_debug_info_entries = 0;\n        num_debug_info_entries = 0;\n        return 0;\n      }\n      debug_information = (debug_info *)xmalloc(local_90 * 0x50);\n      in_stack_fffffee8 = (char *)0x0;\n      memset(debug_information,0,local_90 * 0x50);\n      alloc_num_debug_info_entries = local_90;\n      if (do_loc != 0) {\n        puVar29 = (uchar *)0x571d3;\n        load_debug_section_with_follow(abbrev_sec,file);\n        if (*(int *)(&DAT_000b4850 + abbrev_sec * 0x40) == 0) goto LAB_00057bf6;\n        do_types = 0;\n        goto LAB_0005662b;\n      }\n    }" else (compound_statement "{\nLAB_00056b86:\n      local_90 = 0;\n      puVar29 = puVar1;\n      if (end <= puVar1) {\nLAB_00057e2b:\n        pcVar13 = section->name;\n        pcVar17 = (char *)dcgettext(0,"No comp units in %s section ?\n",5);\n        error(pcVar17,pcVar13);\n        return 0;\n      }\n      do {\n        puVar18 = puVar29 + 4;\n        if (end <= puVar18) {\n          pdVar12 = (dwarf_section *)(end + -(int)puVar29);\n          pdVar9 = (dwarf_section *)in_stack_fffffee8;\n          if ((undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)\n          goto LAB_000570ed;\nLAB_00056bdb:\n          in_stack_fffffee8 = (char *)pdVar9;\n          uVar10 = 0;\nLAB_00056bdf:\n          pcVar17 = section->name;\n          pcVar19 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n          pcVar13 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          pcVar13 = (char *)dcgettext(0,pcVar13,5);\n          warn(pcVar13,pcVar19,pcVar17);\n          return 0;\n        }\n        pdVar12 = (dwarf_section *)0x4;\nLAB_000570ed:\n        eVar26 = (*byte_get)(puVar29,(int)pdVar12);\n        uVar10 = (uint)eVar26;\n        if (eVar26 == 0xffffffff) {\n          if (puVar29 + 0xc < end) {\n            in_stack_fffffee8 = (char *)0x8;\n          }\n          else {\n            pdVar9 = pdVar12;\n            if ((end <= puVar18) ||\n               (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n               (undefined1 *)0x7 <\n               (undefined1 *)\n               ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U)))\n            goto LAB_00056bdb;\n          }\n          eVar26 = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n          uVar10 = (uint)eVar26;\n          puVar29 = puVar29 + uVar10 + 0xc;\n          bVar20 = puVar29 < puVar1 || (int)uVar10 < 1;\n        }\n        else {\n          local_104._4_4_ = (int)(eVar26 - 0xfffffff0 >> 0x20);\n          if (local_104._4_4_ == 0 && (uint)(0xe < (uint)local_104) <= (uint)-local_104._4_4_) {\n            pcVar17 = section->name;\n            pcVar19 = dwarf_vmatoa_1("x",ZEXT48(pdVar12) << 0x20,uVar10);\n            pcVar13 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          puVar29 = puVar29 + uVar10 + 4;\n          bVar20 = (int)uVar10 < 1 || puVar29 < puVar1;\n          in_stack_fffffee8 = (char *)pdVar12;\n          local_104 = eVar26 - 0xfffffff0;\n        }\n        if (bVar20) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      } while (puVar29 < end);\n      if (local_90 == 0) goto LAB_00057e2b;\n      if (0x3333332 < local_90) {\n        debug_information = (debug_info *)0x0;\n        pcVar13 = (char *)dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(pcVar13,local_90);\n        alloc_num_debug_info_entries = 0;\n        num_debug_info_entries = 0;\n        return 0;\n      }\n      debug_information = (debug_info *)xmalloc(local_90 * 0x50);\n      in_stack_fffffee8 = (char *)0x0;\n      memset(debug_information,0,local_90 * 0x50);\n      alloc_num_debug_info_entries = local_90;\n      if (do_loc != 0) {\n        puVar29 = (uchar *)0x571d3;\n        load_debug_section_with_follow(abbrev_sec,file);\n        if (*(int *)(&DAT_000b4850 + abbrev_sec * 0x40) == 0) goto LAB_00057bf6;\n        do_types = 0;\n        goto LAB_0005662b;\n      }\n    }" { (labeled_statement "LAB_00056b86:\n      local_90 = 0;" statement_identifier : (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;)) (expression_statement "puVar29 = puVar1;" (assignment_expression "puVar29 = puVar1" identifier = identifier) ;) (if_statement "if (end <= puVar1) {\nLAB_00057e2b:\n        pcVar13 = section->name;\n        pcVar17 = (char *)dcgettext(0,"No comp units in %s section ?\n",5);\n        error(pcVar17,pcVar13);\n        return 0;\n      }" if (parenthesized_expression "(end <= puVar1)" ( (binary_expression "end <= puVar1" identifier <= identifier) )) (compound_statement "{\nLAB_00057e2b:\n        pcVar13 = section->name;\n        pcVar17 = (char *)dcgettext(0,"No comp units in %s section ?\n",5);\n        error(pcVar17,pcVar13);\n        return 0;\n      }" { (labeled_statement "LAB_00057e2b:\n        pcVar13 = section->name;" statement_identifier : (expression_statement "pcVar13 = section->name;" (assignment_expression "pcVar13 = section->name" identifier = (field_expression "section->name" identifier -> field_identifier)) ;)) (expression_statement "pcVar17 = (char *)dcgettext(0,"No comp units in %s section ?\n",5);" (assignment_expression "pcVar17 = (char *)dcgettext(0,"No comp units in %s section ?\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"No comp units in %s section ?\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"No comp units in %s section ?\n",5)" identifier (argument_list "(0,"No comp units in %s section ?\n",5)" ( number_literal , (string_literal ""No comp units in %s section ?\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "error(pcVar17,pcVar13);" (call_expression "error(pcVar17,pcVar13)" identifier (argument_list "(pcVar17,pcVar13)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (do_statement "do {\n        puVar18 = puVar29 + 4;\n        if (end <= puVar18) {\n          pdVar12 = (dwarf_section *)(end + -(int)puVar29);\n          pdVar9 = (dwarf_section *)in_stack_fffffee8;\n          if ((undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)\n          goto LAB_000570ed;\nLAB_00056bdb:\n          in_stack_fffffee8 = (char *)pdVar9;\n          uVar10 = 0;\nLAB_00056bdf:\n          pcVar17 = section->name;\n          pcVar19 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n          pcVar13 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          pcVar13 = (char *)dcgettext(0,pcVar13,5);\n          warn(pcVar13,pcVar19,pcVar17);\n          return 0;\n        }\n        pdVar12 = (dwarf_section *)0x4;\nLAB_000570ed:\n        eVar26 = (*byte_get)(puVar29,(int)pdVar12);\n        uVar10 = (uint)eVar26;\n        if (eVar26 == 0xffffffff) {\n          if (puVar29 + 0xc < end) {\n            in_stack_fffffee8 = (char *)0x8;\n          }\n          else {\n            pdVar9 = pdVar12;\n            if ((end <= puVar18) ||\n               (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n               (undefined1 *)0x7 <\n               (undefined1 *)\n               ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U)))\n            goto LAB_00056bdb;\n          }\n          eVar26 = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n          uVar10 = (uint)eVar26;\n          puVar29 = puVar29 + uVar10 + 0xc;\n          bVar20 = puVar29 < puVar1 || (int)uVar10 < 1;\n        }\n        else {\n          local_104._4_4_ = (int)(eVar26 - 0xfffffff0 >> 0x20);\n          if (local_104._4_4_ == 0 && (uint)(0xe < (uint)local_104) <= (uint)-local_104._4_4_) {\n            pcVar17 = section->name;\n            pcVar19 = dwarf_vmatoa_1("x",ZEXT48(pdVar12) << 0x20,uVar10);\n            pcVar13 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          puVar29 = puVar29 + uVar10 + 4;\n          bVar20 = (int)uVar10 < 1 || puVar29 < puVar1;\n          in_stack_fffffee8 = (char *)pdVar12;\n          local_104 = eVar26 - 0xfffffff0;\n        }\n        if (bVar20) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      } while (puVar29 < end);" do (compound_statement "{\n        puVar18 = puVar29 + 4;\n        if (end <= puVar18) {\n          pdVar12 = (dwarf_section *)(end + -(int)puVar29);\n          pdVar9 = (dwarf_section *)in_stack_fffffee8;\n          if ((undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)\n          goto LAB_000570ed;\nLAB_00056bdb:\n          in_stack_fffffee8 = (char *)pdVar9;\n          uVar10 = 0;\nLAB_00056bdf:\n          pcVar17 = section->name;\n          pcVar19 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n          pcVar13 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          pcVar13 = (char *)dcgettext(0,pcVar13,5);\n          warn(pcVar13,pcVar19,pcVar17);\n          return 0;\n        }\n        pdVar12 = (dwarf_section *)0x4;\nLAB_000570ed:\n        eVar26 = (*byte_get)(puVar29,(int)pdVar12);\n        uVar10 = (uint)eVar26;\n        if (eVar26 == 0xffffffff) {\n          if (puVar29 + 0xc < end) {\n            in_stack_fffffee8 = (char *)0x8;\n          }\n          else {\n            pdVar9 = pdVar12;\n            if ((end <= puVar18) ||\n               (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n               (undefined1 *)0x7 <\n               (undefined1 *)\n               ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U)))\n            goto LAB_00056bdb;\n          }\n          eVar26 = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n          uVar10 = (uint)eVar26;\n          puVar29 = puVar29 + uVar10 + 0xc;\n          bVar20 = puVar29 < puVar1 || (int)uVar10 < 1;\n        }\n        else {\n          local_104._4_4_ = (int)(eVar26 - 0xfffffff0 >> 0x20);\n          if (local_104._4_4_ == 0 && (uint)(0xe < (uint)local_104) <= (uint)-local_104._4_4_) {\n            pcVar17 = section->name;\n            pcVar19 = dwarf_vmatoa_1("x",ZEXT48(pdVar12) << 0x20,uVar10);\n            pcVar13 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          puVar29 = puVar29 + uVar10 + 4;\n          bVar20 = (int)uVar10 < 1 || puVar29 < puVar1;\n          in_stack_fffffee8 = (char *)pdVar12;\n          local_104 = eVar26 - 0xfffffff0;\n        }\n        if (bVar20) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      }" { (expression_statement "puVar18 = puVar29 + 4;" (assignment_expression "puVar18 = puVar29 + 4" identifier = (binary_expression "puVar29 + 4" identifier + number_literal)) ;) (if_statement "if (end <= puVar18) {\n          pdVar12 = (dwarf_section *)(end + -(int)puVar29);\n          pdVar9 = (dwarf_section *)in_stack_fffffee8;\n          if ((undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)\n          goto LAB_000570ed;\nLAB_00056bdb:\n          in_stack_fffffee8 = (char *)pdVar9;\n          uVar10 = 0;\nLAB_00056bdf:\n          pcVar17 = section->name;\n          pcVar19 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n          pcVar13 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          pcVar13 = (char *)dcgettext(0,pcVar13,5);\n          warn(pcVar13,pcVar19,pcVar17);\n          return 0;\n        }" if (parenthesized_expression "(end <= puVar18)" ( (binary_expression "end <= puVar18" identifier <= identifier) )) (compound_statement "{\n          pdVar12 = (dwarf_section *)(end + -(int)puVar29);\n          pdVar9 = (dwarf_section *)in_stack_fffffee8;\n          if ((undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)\n          goto LAB_000570ed;\nLAB_00056bdb:\n          in_stack_fffffee8 = (char *)pdVar9;\n          uVar10 = 0;\nLAB_00056bdf:\n          pcVar17 = section->name;\n          pcVar19 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n          pcVar13 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          pcVar13 = (char *)dcgettext(0,pcVar13,5);\n          warn(pcVar13,pcVar19,pcVar17);\n          return 0;\n        }" { (expression_statement "pdVar12 = (dwarf_section *)(end + -(int)puVar29);" (assignment_expression "pdVar12 = (dwarf_section *)(end + -(int)puVar29)" identifier = (cast_expression "(dwarf_section *)(end + -(int)puVar29)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(end + -(int)puVar29)" ( (binary_expression "end + -(int)puVar29" identifier + (unary_expression "-(int)puVar29" - (cast_expression "(int)puVar29" ( (type_descriptor "int" primitive_type) ) identifier))) )))) ;) (expression_statement "pdVar9 = (dwarf_section *)in_stack_fffffee8;" (assignment_expression "pdVar9 = (dwarf_section *)in_stack_fffffee8" identifier = (cast_expression "(dwarf_section *)in_stack_fffffee8" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)\n          goto LAB_000570ed;" if (parenthesized_expression "((undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)" ( (binary_expression "(undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8" (cast_expression "(undefined1 *)((int)&pdVar12[-1].user_data + 3U)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pdVar12[-1].user_data + 3U)" ( (binary_expression "(int)&pdVar12[-1].user_data + 3U" (cast_expression "(int)&pdVar12[-1].user_data" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pdVar12[-1].user_data" & (field_expression "pdVar12[-1].user_data" (subscript_expression "pdVar12[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))) < (cast_expression "(undefined1 *)0x8" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000570ed;" goto statement_identifier ;)) (labeled_statement "LAB_00056bdb:\n          in_stack_fffffee8 = (char *)pdVar9;" statement_identifier : (expression_statement "in_stack_fffffee8 = (char *)pdVar9;" (assignment_expression "in_stack_fffffee8 = (char *)pdVar9" identifier = (cast_expression "(char *)pdVar9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00056bdf:\n          pcVar17 = section->name;" statement_identifier : (expression_statement "pcVar17 = section->name;" (assignment_expression "pcVar17 = section->name" identifier = (field_expression "section->name" identifier -> field_identifier)) ;)) (expression_statement "pcVar19 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);" (assignment_expression "pcVar19 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10)" identifier = (call_expression "dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10)" identifier (argument_list "("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10)" ( (string_literal ""x"" " string_content ") , (binary_expression "ZEXT48(in_stack_fffffee8) << 0x20" (call_expression "ZEXT48(in_stack_fffffee8)" identifier (argument_list "(in_stack_fffffee8)" ( identifier ))) << number_literal) , identifier )))) ;) (expression_statement "pcVar13 = "Corrupt unit length (0x%s) found in section %s\n";" (assignment_expression "pcVar13 = "Corrupt unit length (0x%s) found in section %s\n"" identifier = (string_literal ""Corrupt unit length (0x%s) found in section %s\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_00056c0d:\n          pcVar13 = (char *)dcgettext(0,pcVar13,5);" statement_identifier : (expression_statement "pcVar13 = (char *)dcgettext(0,pcVar13,5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,pcVar13,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar13,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar13,5)" identifier (argument_list "(0,pcVar13,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "warn(pcVar13,pcVar19,pcVar17);" (call_expression "warn(pcVar13,pcVar19,pcVar17)" identifier (argument_list "(pcVar13,pcVar19,pcVar17)" ( identifier , identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "pdVar12 = (dwarf_section *)0x4;" (assignment_expression "pdVar12 = (dwarf_section *)0x4" identifier = (cast_expression "(dwarf_section *)0x4" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_000570ed:\n        eVar26 = (*byte_get)(puVar29,(int)pdVar12);" statement_identifier : (expression_statement "eVar26 = (*byte_get)(puVar29,(int)pdVar12);" (assignment_expression "eVar26 = (*byte_get)(puVar29,(int)pdVar12)" identifier = (call_expression "(*byte_get)(puVar29,(int)pdVar12)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar29,(int)pdVar12)" ( identifier , (cast_expression "(int)pdVar12" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;)) (expression_statement "uVar10 = (uint)eVar26;" (assignment_expression "uVar10 = (uint)eVar26" identifier = (cast_expression "(uint)eVar26" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (eVar26 == 0xffffffff) {\n          if (puVar29 + 0xc < end) {\n            in_stack_fffffee8 = (char *)0x8;\n          }\n          else {\n            pdVar9 = pdVar12;\n            if ((end <= puVar18) ||\n               (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n               (undefined1 *)0x7 <\n               (undefined1 *)\n               ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U)))\n            goto LAB_00056bdb;\n          }\n          eVar26 = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n          uVar10 = (uint)eVar26;\n          puVar29 = puVar29 + uVar10 + 0xc;\n          bVar20 = puVar29 < puVar1 || (int)uVar10 < 1;\n        }\n        else {\n          local_104._4_4_ = (int)(eVar26 - 0xfffffff0 >> 0x20);\n          if (local_104._4_4_ == 0 && (uint)(0xe < (uint)local_104) <= (uint)-local_104._4_4_) {\n            pcVar17 = section->name;\n            pcVar19 = dwarf_vmatoa_1("x",ZEXT48(pdVar12) << 0x20,uVar10);\n            pcVar13 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          puVar29 = puVar29 + uVar10 + 4;\n          bVar20 = (int)uVar10 < 1 || puVar29 < puVar1;\n          in_stack_fffffee8 = (char *)pdVar12;\n          local_104 = eVar26 - 0xfffffff0;\n        }" if (parenthesized_expression "(eVar26 == 0xffffffff)" ( (binary_expression "eVar26 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n          if (puVar29 + 0xc < end) {\n            in_stack_fffffee8 = (char *)0x8;\n          }\n          else {\n            pdVar9 = pdVar12;\n            if ((end <= puVar18) ||\n               (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n               (undefined1 *)0x7 <\n               (undefined1 *)\n               ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U)))\n            goto LAB_00056bdb;\n          }\n          eVar26 = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n          uVar10 = (uint)eVar26;\n          puVar29 = puVar29 + uVar10 + 0xc;\n          bVar20 = puVar29 < puVar1 || (int)uVar10 < 1;\n        }" { (if_statement "if (puVar29 + 0xc < end) {\n            in_stack_fffffee8 = (char *)0x8;\n          }\n          else {\n            pdVar9 = pdVar12;\n            if ((end <= puVar18) ||\n               (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n               (undefined1 *)0x7 <\n               (undefined1 *)\n               ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U)))\n            goto LAB_00056bdb;\n          }" if (parenthesized_expression "(puVar29 + 0xc < end)" ( (binary_expression "puVar29 + 0xc < end" (binary_expression "puVar29 + 0xc" identifier + number_literal) < identifier) )) (compound_statement "{\n            in_stack_fffffee8 = (char *)0x8;\n          }" { (expression_statement "in_stack_fffffee8 = (char *)0x8;" (assignment_expression "in_stack_fffffee8 = (char *)0x8" identifier = (cast_expression "(char *)0x8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n            pdVar9 = pdVar12;\n            if ((end <= puVar18) ||\n               (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n               (undefined1 *)0x7 <\n               (undefined1 *)\n               ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U)))\n            goto LAB_00056bdb;\n          }" else (compound_statement "{\n            pdVar9 = pdVar12;\n            if ((end <= puVar18) ||\n               (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n               (undefined1 *)0x7 <\n               (undefined1 *)\n               ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U)))\n            goto LAB_00056bdb;\n          }" { (expression_statement "pdVar9 = pdVar12;" (assignment_expression "pdVar9 = pdVar12" identifier = identifier) ;) (if_statement "if ((end <= puVar18) ||\n               (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n               (undefined1 *)0x7 <\n               (undefined1 *)\n               ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U)))\n            goto LAB_00056bdb;" if (parenthesized_expression "((end <= puVar18) ||\n               (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n               (undefined1 *)0x7 <\n               (undefined1 *)\n               ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U)))" ( (binary_expression "(end <= puVar18) ||\n               (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n               (undefined1 *)0x7 <\n               (undefined1 *)\n               ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U))" (parenthesized_expression "(end <= puVar18)" ( (binary_expression "end <= puVar18" identifier <= identifier) )) || (parenthesized_expression "(in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n               (undefined1 *)0x7 <\n               (undefined1 *)\n               ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U))" ( (comma_expression "in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n               (undefined1 *)0x7 <\n               (undefined1 *)\n               ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U)" (assignment_expression "in_stack_fffffee8 = (char *)(end + -(int)puVar18)" identifier = (cast_expression "(char *)(end + -(int)puVar18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(end + -(int)puVar18)" ( (binary_expression "end + -(int)puVar18" identifier + (unary_expression "-(int)puVar18" - (cast_expression "(int)puVar18" ( (type_descriptor "int" primitive_type) ) identifier))) )))) , (binary_expression "(undefined1 *)0x7 <\n               (undefined1 *)\n               ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U)" (cast_expression "(undefined1 *)0x7" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (cast_expression "(undefined1 *)\n               ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U)" ( (binary_expression "(int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U" (cast_expression "(int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data" & (field_expression "((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data" (parenthesized_expression "((dwarf_section *)((int)in_stack_fffffee8 + -0x34))" ( (cast_expression "(dwarf_section *)((int)in_stack_fffffee8 + -0x34)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)in_stack_fffffee8 + -0x34)" ( (binary_expression "(int)in_stack_fffffee8 + -0x34" (cast_expression "(int)in_stack_fffffee8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) )) -> field_identifier))) + number_literal) ))))) ))) )) (goto_statement "goto LAB_00056bdb;" goto statement_identifier ;)) }))) (expression_statement "eVar26 = (*byte_get)(puVar18,(int)in_stack_fffffee8);" (assignment_expression "eVar26 = (*byte_get)(puVar18,(int)in_stack_fffffee8)" identifier = (call_expression "(*byte_get)(puVar18,(int)in_stack_fffffee8)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar18,(int)in_stack_fffffee8)" ( identifier , (cast_expression "(int)in_stack_fffffee8" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (expression_statement "uVar10 = (uint)eVar26;" (assignment_expression "uVar10 = (uint)eVar26" identifier = (cast_expression "(uint)eVar26" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar29 = puVar29 + uVar10 + 0xc;" (assignment_expression "puVar29 = puVar29 + uVar10 + 0xc" identifier = (binary_expression "puVar29 + uVar10 + 0xc" (binary_expression "puVar29 + uVar10" identifier + identifier) + number_literal)) ;) (expression_statement "bVar20 = puVar29 < puVar1 || (int)uVar10 < 1;" (assignment_expression "bVar20 = puVar29 < puVar1 || (int)uVar10 < 1" identifier = (binary_expression "puVar29 < puVar1 || (int)uVar10 < 1" (binary_expression "puVar29 < puVar1" identifier < identifier) || (binary_expression "(int)uVar10 < 1" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal))) ;) }) (else_clause "else {\n          local_104._4_4_ = (int)(eVar26 - 0xfffffff0 >> 0x20);\n          if (local_104._4_4_ == 0 && (uint)(0xe < (uint)local_104) <= (uint)-local_104._4_4_) {\n            pcVar17 = section->name;\n            pcVar19 = dwarf_vmatoa_1("x",ZEXT48(pdVar12) << 0x20,uVar10);\n            pcVar13 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          puVar29 = puVar29 + uVar10 + 4;\n          bVar20 = (int)uVar10 < 1 || puVar29 < puVar1;\n          in_stack_fffffee8 = (char *)pdVar12;\n          local_104 = eVar26 - 0xfffffff0;\n        }" else (compound_statement "{\n          local_104._4_4_ = (int)(eVar26 - 0xfffffff0 >> 0x20);\n          if (local_104._4_4_ == 0 && (uint)(0xe < (uint)local_104) <= (uint)-local_104._4_4_) {\n            pcVar17 = section->name;\n            pcVar19 = dwarf_vmatoa_1("x",ZEXT48(pdVar12) << 0x20,uVar10);\n            pcVar13 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          puVar29 = puVar29 + uVar10 + 4;\n          bVar20 = (int)uVar10 < 1 || puVar29 < puVar1;\n          in_stack_fffffee8 = (char *)pdVar12;\n          local_104 = eVar26 - 0xfffffff0;\n        }" { (expression_statement "local_104._4_4_ = (int)(eVar26 - 0xfffffff0 >> 0x20);" (assignment_expression "local_104._4_4_ = (int)(eVar26 - 0xfffffff0 >> 0x20)" (field_expression "local_104._4_4_" identifier . field_identifier) = (cast_expression "(int)(eVar26 - 0xfffffff0 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(eVar26 - 0xfffffff0 >> 0x20)" ( (binary_expression "eVar26 - 0xfffffff0 >> 0x20" (binary_expression "eVar26 - 0xfffffff0" identifier - number_literal) >> number_literal) )))) ;) (if_statement "if (local_104._4_4_ == 0 && (uint)(0xe < (uint)local_104) <= (uint)-local_104._4_4_) {\n            pcVar17 = section->name;\n            pcVar19 = dwarf_vmatoa_1("x",ZEXT48(pdVar12) << 0x20,uVar10);\n            pcVar13 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }" if (parenthesized_expression "(local_104._4_4_ == 0 && (uint)(0xe < (uint)local_104) <= (uint)-local_104._4_4_)" ( (binary_expression "local_104._4_4_ == 0 && (uint)(0xe < (uint)local_104) <= (uint)-local_104._4_4_" (binary_expression "local_104._4_4_ == 0" (field_expression "local_104._4_4_" identifier . field_identifier) == number_literal) && (binary_expression "(uint)(0xe < (uint)local_104) <= (uint)-local_104._4_4_" (call_expression "(uint)(0xe < (uint)local_104)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xe < (uint)local_104)" ( (binary_expression "0xe < (uint)local_104" number_literal < (cast_expression "(uint)local_104" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) <= (binary_expression "(uint)-local_104._4_4_" (parenthesized_expression "(uint)" ( identifier )) - (field_expression "local_104._4_4_" identifier . field_identifier)))) )) (compound_statement "{\n            pcVar17 = section->name;\n            pcVar19 = dwarf_vmatoa_1("x",ZEXT48(pdVar12) << 0x20,uVar10);\n            pcVar13 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }" { (expression_statement "pcVar17 = section->name;" (assignment_expression "pcVar17 = section->name" identifier = (field_expression "section->name" identifier -> field_identifier)) ;) (expression_statement "pcVar19 = dwarf_vmatoa_1("x",ZEXT48(pdVar12) << 0x20,uVar10);" (assignment_expression "pcVar19 = dwarf_vmatoa_1("x",ZEXT48(pdVar12) << 0x20,uVar10)" identifier = (call_expression "dwarf_vmatoa_1("x",ZEXT48(pdVar12) << 0x20,uVar10)" identifier (argument_list "("x",ZEXT48(pdVar12) << 0x20,uVar10)" ( (string_literal ""x"" " string_content ") , (binary_expression "ZEXT48(pdVar12) << 0x20" (call_expression "ZEXT48(pdVar12)" identifier (argument_list "(pdVar12)" ( identifier ))) << number_literal) , identifier )))) ;) (expression_statement "pcVar13 = "Reserved length value (0x%s) found in section %s\n";" (assignment_expression "pcVar13 = "Reserved length value (0x%s) found in section %s\n"" identifier = (string_literal ""Reserved length value (0x%s) found in section %s\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00056c0d;" goto statement_identifier ;) })) (expression_statement "puVar29 = puVar29 + uVar10 + 4;" (assignment_expression "puVar29 = puVar29 + uVar10 + 4" identifier = (binary_expression "puVar29 + uVar10 + 4" (binary_expression "puVar29 + uVar10" identifier + identifier) + number_literal)) ;) (expression_statement "bVar20 = (int)uVar10 < 1 || puVar29 < puVar1;" (assignment_expression "bVar20 = (int)uVar10 < 1 || puVar29 < puVar1" identifier = (binary_expression "(int)uVar10 < 1 || puVar29 < puVar1" (binary_expression "(int)uVar10 < 1" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) || (binary_expression "puVar29 < puVar1" identifier < identifier))) ;) (expression_statement "in_stack_fffffee8 = (char *)pdVar12;" (assignment_expression "in_stack_fffffee8 = (char *)pdVar12" identifier = (cast_expression "(char *)pdVar12" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_104 = eVar26 - 0xfffffff0;" (assignment_expression "local_104 = eVar26 - 0xfffffff0" identifier = (binary_expression "eVar26 - 0xfffffff0" identifier - number_literal)) ;) }))) (if_statement "if (bVar20) goto LAB_00056bdf;" if (parenthesized_expression "(bVar20)" ( identifier )) (goto_statement "goto LAB_00056bdf;" goto statement_identifier ;)) (expression_statement "local_90 = local_90 + 1;" (assignment_expression "local_90 = local_90 + 1" identifier = (binary_expression "local_90 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar29 < end)" ( (binary_expression "puVar29 < end" identifier < identifier) )) ;) (if_statement "if (local_90 == 0) goto LAB_00057e2b;" if (parenthesized_expression "(local_90 == 0)" ( (binary_expression "local_90 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00057e2b;" goto statement_identifier ;)) (if_statement "if (0x3333332 < local_90) {\n        debug_information = (debug_info *)0x0;\n        pcVar13 = (char *)dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(pcVar13,local_90);\n        alloc_num_debug_info_entries = 0;\n        num_debug_info_entries = 0;\n        return 0;\n      }" if (parenthesized_expression "(0x3333332 < local_90)" ( (binary_expression "0x3333332 < local_90" number_literal < identifier) )) (compound_statement "{\n        debug_information = (debug_info *)0x0;\n        pcVar13 = (char *)dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(pcVar13,local_90);\n        alloc_num_debug_info_entries = 0;\n        num_debug_info_entries = 0;\n        return 0;\n      }" { (expression_statement "debug_information = (debug_info *)0x0;" (assignment_expression "debug_information = (debug_info *)0x0" identifier = (cast_expression "(debug_info *)0x0" ( (type_descriptor "debug_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar13 = (char *)dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5)" identifier (argument_list "(0,"Not enough memory for a debug info array of %u entries\n",5)" ( number_literal , (string_literal ""Not enough memory for a debug info array of %u entries\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "error(pcVar13,local_90);" (call_expression "error(pcVar13,local_90)" identifier (argument_list "(pcVar13,local_90)" ( identifier , identifier ))) ;) (expression_statement "alloc_num_debug_info_entries = 0;" (assignment_expression "alloc_num_debug_info_entries = 0" identifier = number_literal) ;) (expression_statement "num_debug_info_entries = 0;" (assignment_expression "num_debug_info_entries = 0" identifier = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "debug_information = (debug_info *)xmalloc(local_90 * 0x50);" (assignment_expression "debug_information = (debug_info *)xmalloc(local_90 * 0x50)" identifier = (cast_expression "(debug_info *)xmalloc(local_90 * 0x50)" ( (type_descriptor "debug_info *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(local_90 * 0x50)" identifier (argument_list "(local_90 * 0x50)" ( (binary_expression "local_90 * 0x50" identifier * number_literal) ))))) ;) (expression_statement "in_stack_fffffee8 = (char *)0x0;" (assignment_expression "in_stack_fffffee8 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "memset(debug_information,0,local_90 * 0x50);" (call_expression "memset(debug_information,0,local_90 * 0x50)" identifier (argument_list "(debug_information,0,local_90 * 0x50)" ( identifier , number_literal , (binary_expression "local_90 * 0x50" identifier * number_literal) ))) ;) (expression_statement "alloc_num_debug_info_entries = local_90;" (assignment_expression "alloc_num_debug_info_entries = local_90" identifier = identifier) ;) (if_statement "if (do_loc != 0) {\n        puVar29 = (uchar *)0x571d3;\n        load_debug_section_with_follow(abbrev_sec,file);\n        if (*(int *)(&DAT_000b4850 + abbrev_sec * 0x40) == 0) goto LAB_00057bf6;\n        do_types = 0;\n        goto LAB_0005662b;\n      }" if (parenthesized_expression "(do_loc != 0)" ( (binary_expression "do_loc != 0" identifier != number_literal) )) (compound_statement "{\n        puVar29 = (uchar *)0x571d3;\n        load_debug_section_with_follow(abbrev_sec,file);\n        if (*(int *)(&DAT_000b4850 + abbrev_sec * 0x40) == 0) goto LAB_00057bf6;\n        do_types = 0;\n        goto LAB_0005662b;\n      }" { (expression_statement "puVar29 = (uchar *)0x571d3;" (assignment_expression "puVar29 = (uchar *)0x571d3" identifier = (cast_expression "(uchar *)0x571d3" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "load_debug_section_with_follow(abbrev_sec,file);" (call_expression "load_debug_section_with_follow(abbrev_sec,file)" identifier (argument_list "(abbrev_sec,file)" ( identifier , identifier ))) ;) (if_statement "if (*(int *)(&DAT_000b4850 + abbrev_sec * 0x40) == 0) goto LAB_00057bf6;" if (parenthesized_expression "(*(int *)(&DAT_000b4850 + abbrev_sec * 0x40) == 0)" ( (binary_expression "*(int *)(&DAT_000b4850 + abbrev_sec * 0x40) == 0" (pointer_expression "*(int *)(&DAT_000b4850 + abbrev_sec * 0x40)" * (cast_expression "(int *)(&DAT_000b4850 + abbrev_sec * 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_000b4850 + abbrev_sec * 0x40)" ( (binary_expression "&DAT_000b4850 + abbrev_sec * 0x40" (pointer_expression "&DAT_000b4850" & identifier) + (binary_expression "abbrev_sec * 0x40" identifier * number_literal)) )))) == number_literal) )) (goto_statement "goto LAB_00057bf6;" goto statement_identifier ;)) (expression_statement "do_types = 0;" (assignment_expression "do_types = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0005662b;" goto statement_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 ))) ;) (expression_statement "load_debug_section_with_follow(line_str,file);" (call_expression "load_debug_section_with_follow(line_str,file)" identifier (argument_list "(line_str,file)" ( identifier , identifier ))) ;) (expression_statement "load_debug_section_with_follow(str_dwo,file);" (call_expression "load_debug_section_with_follow(str_dwo,file)" identifier (argument_list "(str_dwo,file)" ( identifier , identifier ))) ;) (expression_statement "load_debug_section_with_follow(str_index,file);" (call_expression "load_debug_section_with_follow(str_index,file)" identifier (argument_list "(str_index,file)" ( identifier , identifier ))) ;) (expression_statement "load_debug_section_with_follow(str_index_dwo,file);" (call_expression "load_debug_section_with_follow(str_index_dwo,file)" identifier (argument_list "(str_index_dwo,file)" ( identifier , identifier ))) ;) (expression_statement "load_debug_section_with_follow(debug_addr,file);" (call_expression "load_debug_section_with_follow(debug_addr,file)" identifier (argument_list "(debug_addr,file)" ( identifier , identifier ))) ;) (expression_statement "puVar29 = (uchar *)0x565e3;" (assignment_expression "puVar29 = (uchar *)0x565e3" identifier = (cast_expression "(uchar *)0x565e3" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "load_debug_section_with_follow(abbrev_sec,file);" (call_expression "load_debug_section_with_follow(abbrev_sec,file)" identifier (argument_list "(abbrev_sec,file)" ( identifier , identifier ))) ;) (if_statement "if (*(int *)(&DAT_000b4850 + abbrev_sec * 0x40) == 0) {\nLAB_00057bf6:\n      puVar5 = (&debug_displays)[abbrev_sec * 0x10];\n      pcVar13 = (char *)dcgettext(0,"Unable to locate %s section!\n",5);\n      warn(pcVar13,puVar5);\n      return 0;\n    }" if (parenthesized_expression "(*(int *)(&DAT_000b4850 + abbrev_sec * 0x40) == 0)" ( (binary_expression "*(int *)(&DAT_000b4850 + abbrev_sec * 0x40) == 0" (pointer_expression "*(int *)(&DAT_000b4850 + abbrev_sec * 0x40)" * (cast_expression "(int *)(&DAT_000b4850 + abbrev_sec * 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_000b4850 + abbrev_sec * 0x40)" ( (binary_expression "&DAT_000b4850 + abbrev_sec * 0x40" (pointer_expression "&DAT_000b4850" & identifier) + (binary_expression "abbrev_sec * 0x40" identifier * number_literal)) )))) == number_literal) )) (compound_statement "{\nLAB_00057bf6:\n      puVar5 = (&debug_displays)[abbrev_sec * 0x10];\n      pcVar13 = (char *)dcgettext(0,"Unable to locate %s section!\n",5);\n      warn(pcVar13,puVar5);\n      return 0;\n    }" { (labeled_statement "LAB_00057bf6:\n      puVar5 = (&debug_displays)[abbrev_sec * 0x10];" statement_identifier : (expression_statement "puVar5 = (&debug_displays)[abbrev_sec * 0x10];" (assignment_expression "puVar5 = (&debug_displays)[abbrev_sec * 0x10]" identifier = (subscript_expression "(&debug_displays)[abbrev_sec * 0x10]" (parenthesized_expression "(&debug_displays)" ( (pointer_expression "&debug_displays" & identifier) )) [ (binary_expression "abbrev_sec * 0x10" identifier * number_literal) ])) ;)) (expression_statement "pcVar13 = (char *)dcgettext(0,"Unable to locate %s section!\n",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,"Unable to locate %s section!\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Unable to locate %s section!\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Unable to locate %s section!\n",5)" identifier (argument_list "(0,"Unable to locate %s section!\n",5)" ( number_literal , (string_literal ""Unable to locate %s section!\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar13,puVar5);" (call_expression "warn(pcVar13,puVar5)" identifier (argument_list "(pcVar13,puVar5)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (dwarf_start_die == 0) {\n      puVar29 = (uchar *)0x57d63;\n      introduce((dwarf_section *)section->name,(bfd_boolean)&section->filename,section_1);\n    }" if (parenthesized_expression "(dwarf_start_die == 0)" ( (binary_expression "dwarf_start_die == 0" identifier == number_literal) )) (compound_statement "{\n      puVar29 = (uchar *)0x57d63;\n      introduce((dwarf_section *)section->name,(bfd_boolean)&section->filename,section_1);\n    }" { (expression_statement "puVar29 = (uchar *)0x57d63;" (assignment_expression "puVar29 = (uchar *)0x57d63" identifier = (cast_expression "(uchar *)0x57d63" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "introduce((dwarf_section *)section->name,(bfd_boolean)&section->filename,section_1);" (call_expression "introduce((dwarf_section *)section->name,(bfd_boolean)&section->filename,section_1)" identifier (argument_list "((dwarf_section *)section->name,(bfd_boolean)&section->filename,section_1)" ( (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 ))) ;) })) (if_statement "if (puVar1 < end) {\nLAB_0005662b:\n      local_a4 = 0;\n      local_f4 = puVar1;\n      do {\n        signature_high._0_4_ = (char *)0x0;\n        signature_high._4_4_ = 0;\n        signature_low._0_4_ = 0;\n        puVar18 = local_f4 + 4;\n        signature_low._4_4_ = 0;\n        puVar16 = puVar18;\n        if (puVar18 < end) {\n          pdVar9 = (dwarf_section *)0x4;\nLAB_00056d25:\n          local_ec = (*byte_get)(local_f4,(int)pdVar9);\n          if (local_ec == 0xffffffff) {\n            puVar16 = local_f4 + 0xc;\n            if (puVar16 < end) {\n              in_stack_fffffee8 = (char *)0x8;\n            }\n            else if ((end <= puVar18) ||\n                    (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n                    (undefined1 *)0x7 <\n                    (undefined1 *)\n                    ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U))) {\n              local_cc = 0xc;\n              puVar23 = local_f4 + 0xe;\n              local_d4 = (dwarf_section *)0xc;\n              local_f0 = (dwarf_section *)0x8;\n              in_stack_fffffee8 = (char *)pdVar9;\n              goto joined_r0x00056d9b;\n            }\n            puVar23 = local_f4 + 0xe;\n            local_ec = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n            local_cc = 0xc;\n            local_d4 = (dwarf_section *)0xc;\n            local_f0 = (dwarf_section *)0x8;\n          }\n          else {\n            puVar23 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = (dwarf_section *)0x4;\n            local_f0 = (dwarf_section *)0x4;\n            in_stack_fffffee8 = (char *)pdVar9;\n          }\n          if (puVar23 < end) {\n            pdVar9 = (dwarf_section *)0x2;\n          }\n          else if ((end <= puVar16) ||\n                  (pdVar9 = (dwarf_section *)(end + -(int)puVar16),\n                  (undefined1 *)0x7 < (undefined1 *)((int)&pdVar9[-1].user_data + 3U)))\n          goto LAB_00056db1;\nLAB_000566e9:\n          eVar26 = (*byte_get)(puVar16,(int)pdVar9);\n          local_e2 = (ushort)eVar26;\n          in_stack_fffffee8 = (char *)pdVar9;\n        }\n        else {\n          pdVar9 = (dwarf_section *)(end + -(int)local_f4);\n          if ((undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8)\n          goto LAB_00056d25;\n          local_cc = 4;\n          puVar23 = local_f4 + 6;\n          local_d4 = (dwarf_section *)0x4;\n          local_f0 = (dwarf_section *)0x4;\njoined_r0x00056d9b:\n          if (puVar23 < end) {\n            pdVar9 = (dwarf_section *)0x2;\n            local_ec = 0;\n            goto LAB_000566e9;\n          }\n          local_ec = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }\n        uVar10 = (int)local_f4 - (int)puVar1;\n        iVar11 = (int)uVar10 >> 0x1f;\n        if (do_types == 0) {\n          iVar21 = 1;\n          iVar7 = cu_count;\n          this_set = cu_sets;\n        }\n        else {\n          iVar21 = 2;\n          iVar7 = tu_count;\n          this_set = tu_sets;\n        }\n        for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (iVar11 == *(int *)((int)this_set->section_offsets + iVar21 * 8 + 4) &&\n              uVar10 == (uint)this_set->section_offsets[iVar21]) goto joined_r0x0005676e;\n          this_set = this_set + 1;\n        }\n        this_set = (cu_tu_set *)0x0;\njoined_r0x0005676e:\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar8 = 0xff;\n          pdVar9 = (dwarf_section *)in_stack_fffffee8;\njoined_r0x000567df:\n          puVar18 = puVar23 + (int)local_f0;\n          in_stack_fffffee8 = (char *)local_f0;\n          if ((puVar18 < end) ||\n             ((puVar23 < end &&\n              (in_stack_fffffee8 = (char *)(end + -(int)puVar23),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar23))[-1].user_data + 3U) <\n              (undefined1 *)0x8)))) goto LAB_00056caa;\nLAB_000567f7:\n          eVar26 = 0;\n          in_stack_fffffee8 = (char *)pdVar9;\n          eVar27 = 0;\n          if (this_set != (cu_tu_set *)0x0) goto LAB_0005680f;\nLAB_00056cce:\n          eVar26 = eVar27;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(dwarf_section **)(&DAT_000b485c + abbrev_sec * 0x40);\n        }\n        else {\n          puVar18 = puVar16 + 3;\n          if (puVar18 < end) {\n            pdVar9 = (dwarf_section *)0x1;\nLAB_00057245:\n            eVar26 = (*byte_get)(puVar23,(int)pdVar9);\n            local_b4 = (int)eVar26;\n            do_types = (bfd_boolean)(local_b4 == 2);\n            pdVar12 = (dwarf_section *)0x1;\n            if ((puVar16 + 4 < end) ||\n               ((puVar18 < end &&\n                (pdVar12 = (dwarf_section *)(end + -(int)puVar18),\n                (undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)))) {\nLAB_000567c4:\n              puVar23 = puVar16 + 4;\n              eVar26 = (*byte_get)(puVar18,(int)pdVar12);\n              bVar8 = (byte)eVar26;\n              pdVar9 = pdVar12;\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((puVar23 < end) &&\n               (pdVar9 = (dwarf_section *)(end + -(int)puVar23),\n               (undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8))\n            goto LAB_00057245;\n            do_types = 0;\n            local_b4 = 0;\n            pdVar9 = (dwarf_section *)in_stack_fffffee8;\n            if (puVar16 + 4 < end) {\n              pdVar12 = (dwarf_section *)0x1;\n              goto LAB_000567c4;\n            }\n          }\n          puVar23 = puVar16 + 4;\n          bVar8 = 0;\n          puVar18 = puVar23 + (int)local_f0;\n          in_stack_fffffee8 = (char *)local_f0;\n          if (end <= puVar18) goto LAB_000567f7;\nLAB_00056caa:\n          eVar26 = (*byte_get)(puVar23,(int)in_stack_fffffee8);\n          eVar27 = eVar26;\n          if (this_set == (cu_tu_set *)0x0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = (uint)this_set->section_offsets[3];\n          local_98 = *(int *)((int)this_set->section_offsets + 0x1c);\n          local_ac = (dwarf_section *)this_set->section_sizes[3];\n        }\n        puVar16 = puVar18;\n        if (local_e2 < 5) {\n          puVar16 = puVar18 + 1;\n          if (puVar16 < end) {\n            in_stack_fffffee8 = (char *)0x1;\nLAB_00056c35:\n            eVar27 = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n            bVar8 = (byte)eVar27;\n            goto LAB_00056c57;\n          }\n          if ((puVar18 < end) &&\n             (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n             (undefined1 *)\n             ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U) <\n             (undefined1 *)0x8)) goto LAB_00056c35;\n          in_stack_fffffee8 = (char *)0x0;\nLAB_00056853:\n          pcVar13 = (char *)dcgettext(0,\n                                      "Invalid pointer size (%d) in compunit header, using %d instead\n"\n                                      ,5);\n          warn(pcVar13,in_stack_fffffee8,local_f0);\n          bVar8 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar8 - 2)) {\n            in_stack_fffffee8 = (char *)(uint)bVar8;\n            goto LAB_00056853;\n          }\n        }\n        local_bc._0_4_ = 0;\n        if (do_types != 0) {\n          puVar18 = puVar16 + 8;\n          if (end < puVar18) {\n            signature_high._0_4_ = (char *)0x0;\n            signature_high._4_4_ = 0;\n            signature_low._0_4_ = 0;\n            signature_low._4_4_ = 0;\n          }\n          else {\n            in_stack_fffffee8 = (char *)&signature_high;\n            byte_get_64(puVar16,(elf_vma *)in_stack_fffffee8,&signature_low);\n          }\n          puVar16 = puVar18 + (int)local_f0;\n          pdVar9 = local_f0;\n          if ((puVar16 < end) ||\n             ((local_bc._0_4_ = 0, puVar18 < end &&\n              (pdVar9 = (dwarf_section *)(end + -(int)puVar18),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar18))[-1].user_data + 3U) <\n              (undefined1 *)0x8)))) {\n            eVar27 = (*byte_get)(puVar18,(int)pdVar9);\n            local_bc._0_4_ = (uint)eVar27;\n            in_stack_fffffee8 = (char *)pdVar9;\n          }\n        }\n        uVar15 = dwarf_start_die;\n        local_a0 = (uint)(eVar26 >> 0x20);\n        local_b0 = (dwarf_section *)eVar26;\n        uVar14 = (int)local_d4 + uVar10;\n        if (local_ec._4_4_ + (uint)CARRY4(local_cc,(uint)local_ec) + iVar11 +\n            (uint)CARRY4(local_cc + (uint)local_ec,uVar10) <\n            (uint)(local_cc + (uint)local_ec + uVar10 < dwarf_start_die)) {\n          local_f4 = puVar1 + uVar14 + (uint)local_ec;\n        }\n        else {\n          if (do_loc == 0) {\n            if ((do_debug_loc != 0 || do_debug_ranges != 0) && (num_debug_info_entries == 0)) {\nLAB_00056993:\n              if (do_types == 0) {\n                pdVar24 = debug_information + local_a4;\n                pdVar24->pointer_size = (uint)bVar8;\n                *(int *)((int)&pdVar24->cu_offset + 4) = iVar11;\n                *(uint *)&pdVar24->cu_offset = uVar10;\n                pdVar24->offset_size = (uint)local_f0;\n                pdVar24->dwarf_version = (uint)local_e2;\n                *(undefined4 *)&pdVar24->base_address = 0;\n                *(undefined4 *)((int)&pdVar24->base_address + 4) = 0;\n                *(undefined4 *)&pdVar24->addr_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->addr_base + 4) = 0;\n                *(undefined4 *)&pdVar24->ranges_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->ranges_base + 4) = 0;\n                pdVar24->loc_offsets = (dwarf_vma *)0x0;\n                pdVar24->have_frame_base = (int *)0x0;\n                pdVar24->max_loc_offsets = 0;\n                pdVar24->num_loc_offsets = 0;\n                pdVar24->range_lists = (dwarf_vma *)0x0;\n                pdVar24->max_range_lists = 0;\n                pdVar24->num_range_lists = 0;\n              }\n              if (do_loc != 0) goto LAB_00056a44;\n            }\n            if (uVar15 == 0) {\n              pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n              pcVar13 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar13);\n              pcVar13 = "64-bit";\n              if (local_f0 != (dwarf_section *)0x8) {\n                pcVar13 = "32-bit";\n              }\n              pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar17) << 0x20,(uint)local_ec);\n              pcVar19 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar19,pcVar17,pcVar13);\n              pcVar13 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              uVar22 = (uint)local_e2;\n              printf(pcVar13);\n              pcVar13 = dwarf_vmatoa_1("x",(ulonglong)uVar22 << 0x20,(uint)local_b0);\n              pcVar17 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar17,pcVar13);\n              pcVar13 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              in_stack_fffffee8 = (char *)(uint)bVar8;\n              printf(pcVar13);\n              if (do_types != 0) {\n                pcVar13 = dwarf_vmatoa64(CONCAT44(signature_low._4_4_,(undefined4)signature_low),\n                                         CONCAT44(puVar29,buf),(char *)signature_high,\n                                         signature_high._4_4_);\n                pcVar17 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar17);\n                in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)local_bc);\n                pcVar13 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar13);\n              }\n              if (this_set != (cu_tu_set *)0x0) {\n                pcVar13 = "   Section contributions:\n";\n                pcVar17 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[3]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[3]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[4]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[4]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[5]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[5]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[6]);\n                in_stack_fffffee8 =\n                     dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)this_set->section_offsets[6]);\n                pcVar13 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar13,in_stack_fffffee8,pcVar17);\n              }\n            }\n          }\n          else if (num_debug_info_entries == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar22 = local_ec._4_4_ + (uint)CARRY4((uint)local_ec,uVar14);\n          if ((uVar22 < ((uint)local_ec + uVar14 < uVar14)) ||\n             (uVar2 = *(uint *)((int)&section->size + 4),\n             uVar2 < uVar22 ||\n             uVar2 - uVar22 < (uint)((uint)section->size < (uint)local_ec + uVar14))) {\n            pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,(uint)local_ec);\n            pcVar13 = section->name;\n            pcVar19 = (char *)dcgettext(0,\n                                        "Debug info is corrupted, %s header at %#lx has length %s\n"\n                                        ,5);\n            warn(pcVar19,pcVar13,uVar10,pcVar17);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + (int)local_d4 + (uint)local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              puVar29 = (uchar *)0x572c5;\n              free_abbrevs();\n              if (local_a0 < (local_b0 < local_ac)) {\n                iVar11 = abbrev_sec * 0x40;\n                pcVar13 = *(char **)(&DAT_000b485c + iVar11);\n                pdVar9 = (dwarf_section *)((int)&local_ac->uncompressed_name + local_9c);\n                uVar14 = local_98 + (uint)CARRY4((uint)local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + iVar11) < uVar14 ||\n                    *(uint *)(&DAT_000b4860 + iVar11) - uVar14 <\n                    (uint)(pcVar13 < (char *)((int)&local_ac->uncompressed_name + local_9c))) {\n                  pcVar17 = (char *)dcgettext(0,\n                                              "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                              ,5);\n                  warn(pcVar17,pdVar9,pcVar13);\n                  in_stack_fffffee8 = (char *)pdVar9;\n                }\n                else if (first_abbrev == (abbrev_entry *)0x0) {\n                  puVar29 = (uchar *)0x57341;\n                  process_abbrev_section\n                            ((uchar *)((int)&local_b0->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11) + local_9c),\n                             (uchar *)((int)&pdVar9->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11)));\n                }\n              }\n              else {\n                pcVar13 = (char *)dcgettext(0,\n                                            "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                            ,5);\n                warn(pcVar13,local_b0,local_ac);\n                in_stack_fffffee8 = (char *)local_b0;\n              }\n              if (puVar16 < local_f4) {\n                local_78 = (dwarf_section *)0xffffffff;\n                local_70 = (dwarf_section *)0x0;\n                local_d4 = (dwarf_section *)0x0;\n                do {\n                  pdVar12 = (dwarf_section *)(puVar16 + -(int)puVar1);\n                  pdVar9 = (dwarf_section *)0x0;\n                  in_stack_fffffee8 = buf;\n                  puVar29 = local_f4;\n                  dVar28 = read_leb128(puVar16,(uint *)buf,0,local_f4);\n                  uVar15 = (ulong)dVar28;\n                  puVar16 = puVar16 + buf._0_4_;\n                  if (uVar15 == 0) {\n                    if ((local_d4 == (dwarf_section *)0x0) && (end == local_f4)) {\n                      puVar18 = puVar16;\n                      if (puVar16 < local_f4) {\n                        while (*puVar18 == '\0') {\n                          puVar18 = puVar18 + 1;\n                          if (local_f4 == puVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == puVar16) break;\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         ((0 < dwarf_cutoff_level || (dwarf_cutoff_level == -1)))) {\n                        pdVar9 = (dwarf_section *)0xffffffff;\nLAB_00057496:\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar13,local_d4,pdVar12);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        if (-1 < (int)pdVar9) goto LAB_00057428;\n                      }\n                      else {\n                        pdVar9 = (dwarf_section *)0xffffffff;\n                        local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      }\nLAB_000574d0:\n                      in_stack_fffffee8 = (char *)local_d4;\n                      if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                          lexical_block_12_26_8::num_bogus_warns < 3) {\n                        pcVar13 = section->name;\n                        pcVar17 = (char *)dcgettext(0,\n                                                  "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                                  ,5);\n                        warn(pcVar17,pdVar12,pcVar13);\n                        process_debug_info::lexical_block_12::lexical_block_12_26::\n                        lexical_block_12_26_8::num_bogus_warns =\n                             process_debug_info::lexical_block_12::lexical_block_12_26::\n                             lexical_block_12_26_8::num_bogus_warns + 1;\n                        in_stack_fffffee8 = (char *)pdVar12;\n                        if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                            lexical_block_12_26_8::num_bogus_warns == 3) {\n                          in_stack_fffffee8 =\n                               "Further warnings about bogus end-of-sibling markers suppressed\n";\n                          pcVar13 = (char *)dcgettext(0,\n                                                  "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                                  ,5);\n                          warn(pcVar13);\n                        }\n                      }\n                    }\n                    else {\n                      pdVar9 = (dwarf_section *)((int)&local_d4[-1].user_data + 3);\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         (((int)local_d4 < dwarf_cutoff_level || (dwarf_cutoff_level == -1))))\n                      goto LAB_00057496;\n                      local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      if ((int)pdVar9 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = pdVar9;\n                    if ((dwarf_start_die != 0) && ((int)pdVar9 < (int)local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (do_loc == 0) {\n                      if (dwarf_start_die != 0) {\n                        if (pdVar12 < dwarf_start_die) {\n                          bVar20 = false;\n                          iVar11 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if ((dwarf_section *)dwarf_start_die == pdVar12) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar20 = dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level;\n                      if (dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level) {\n                        in_stack_fffffee8 = " <%d><%lx>: Abbrev Number: %lu";\n                        pdVar9 = (dwarf_section *)0x5;\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar13,local_d4,pdVar12,uVar15);\n                        local_70 = local_d4;\n                        iVar11 = 1;\n                      }\n                      else if ((int)local_70 < dwarf_cutoff_level) {\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        pdVar9 = pdVar12;\n                        printf(pcVar13,local_d4,pdVar12);\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                    }\n                    else {\n                      bVar20 = false;\n                      iVar11 = do_loc;\n                    }\nLAB_0005783c:\n                    if (first_abbrev == (abbrev_entry *)0x0) {\nLAB_00057dbe:\n                      if (bVar20) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      pcVar13 = (char *)dcgettext(0,\n                                                  "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                                  ,5);\n                      warn(pcVar13,pdVar12,uVar15);\n                      return 0;\n                    }\n                    uVar3 = first_abbrev->entry;\n                    paVar4 = first_abbrev;\n                    while (uVar3 != uVar15) {\n                      paVar4 = paVar4->next;\n                      if (paVar4 == (abbrev_entry *)0x0) goto LAB_00057dbe;\n                      uVar3 = paVar4->entry;\n                    }\n                    uVar15 = paVar4->tag;\n                    if (bVar20) {\n                      puVar29 = (uchar *)0x57bcc;\n                      in_stack_fffffee8 = get_TAG_name(uVar15);\n                      printf(" (%s)\n",in_stack_fffffee8,pdVar9);\n                      uVar15 = paVar4->tag;\n                    }\n                    if (uVar15 == 0x11) {\n                      need_base_address = 1;\n                      need_dwo_info = do_loc;\n                    }\n                    else if ((uVar15 == 0x2e) || (uVar15 == 3)) {\n                      need_base_address = 0;\n                      have_frame_base = 0;\n                    }\n                    else {\n                      need_base_address = 0;\n                    }\n                    if (((debug_information == (debug_info *)0x0) ||\n                        (alloc_num_debug_info_entries <= local_a4)) ||\n                       (pdVar24 = debug_information + local_a4, pdVar24 == (debug_info *)0x0)) {\n                      paVar25 = paVar4->first_attr;\n                      if ((paVar25 != (abbrev_attr *)0x0) &&\n                         (pdVar24 = (debug_info *)0x0, paVar25->attribute != 0)) {\nLAB_000578fa:\n                        local_bc = ZEXT48(local_f0);\n                        do {\n                          if (bVar20) {\n                            printf("    <%lx>",(int)puVar16 - (int)puVar1);\n                          }\n                          uVar15 = paVar25->form;\n                          implicit_const = paVar25->implicit_const;\n                          uVar3 = paVar25->attribute;\n                          if (iVar11 == 1 && do_loc == 0) {\n                            puVar29 = (uchar *)0x579ff;\n                            in_stack_fffffee8 = get_AT_name(uVar3);\n                            printf("   %-18s:");\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,\n                                                 ' ');\n                            putchar(10);\n                            paVar25 = paVar25->next;\n                          }\n                          else {\n                            puVar29 = (uchar *)0x20;\n                            in_stack_fffffee8 = (char *)section;\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ');\n                            paVar25 = paVar25->next;\n                          }\n                        } while ((paVar25 != (abbrev_attr *)0x0) && (paVar25->attribute != 0));\n                        if (pdVar24 != (debug_info *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (pdVar24->num_loc_offsets != pdVar24->num_loc_views) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      paVar25 = paVar4->first_attr;\n                      if (paVar25 != (abbrev_attr *)0x0) {\n                        if (paVar25->attribute != 0) goto LAB_000578fa;\nLAB_00057a88:\n                        uVar14 = pdVar24->num_loc_offsets;\n                        uVar22 = pdVar24->num_loc_views;\n                        if (uVar14 - uVar22 == 1) {\n                          pdVar6 = pdVar24->loc_views;\n                          *(undefined4 *)(pdVar6 + uVar22) = 0xffffffff;\n                          *(undefined4 *)((int)pdVar6 + uVar22 * 8 + 4) = 0xffffffff;\n                          pdVar24->num_loc_views = uVar22 + 1;\n                          if (uVar22 + 1 != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (uVar14 != uVar22) {\n                          if (uVar14 - uVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          in_stack_fffffee8 = "DIE has locviews without loclist\n";\n                          pcVar13 = (char *)dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(pcVar13);\n                          pdVar24->num_loc_views = pdVar24->num_loc_views - 1;\n                        }\n                      }\n                    }\n                    local_d4 = (dwarf_section *)\n                               ((int)&local_d4->uncompressed_name + (uint)(paVar4->children != 0));\n                  }\n                } while (puVar16 < local_f4);\n              }\n            }\n            else {\n              in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n              pcVar13 = (char *)dcgettext(0,\n                                          "CU at offset %s contains corrupt or unsupported unit type: %d.\n"\n                                          ,5);\n              warn(pcVar13,in_stack_fffffee8,local_b4);\n            }\n          }\n          else {\n            in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n            pcVar13 = (char *)dcgettext(0,\n                                        "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                                        ,5);\n            warn(pcVar13,in_stack_fffffee8,(uint)local_e2);\n          }\n        }\nLAB_00056ae6:\n        local_a4 = local_a4 + 1;\n      } while (local_f4 < end);\n      if (do_loc != 0) goto LAB_00057752;\n    }" if (parenthesized_expression "(puVar1 < end)" ( (binary_expression "puVar1 < end" identifier < identifier) )) (compound_statement "{\nLAB_0005662b:\n      local_a4 = 0;\n      local_f4 = puVar1;\n      do {\n        signature_high._0_4_ = (char *)0x0;\n        signature_high._4_4_ = 0;\n        signature_low._0_4_ = 0;\n        puVar18 = local_f4 + 4;\n        signature_low._4_4_ = 0;\n        puVar16 = puVar18;\n        if (puVar18 < end) {\n          pdVar9 = (dwarf_section *)0x4;\nLAB_00056d25:\n          local_ec = (*byte_get)(local_f4,(int)pdVar9);\n          if (local_ec == 0xffffffff) {\n            puVar16 = local_f4 + 0xc;\n            if (puVar16 < end) {\n              in_stack_fffffee8 = (char *)0x8;\n            }\n            else if ((end <= puVar18) ||\n                    (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n                    (undefined1 *)0x7 <\n                    (undefined1 *)\n                    ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U))) {\n              local_cc = 0xc;\n              puVar23 = local_f4 + 0xe;\n              local_d4 = (dwarf_section *)0xc;\n              local_f0 = (dwarf_section *)0x8;\n              in_stack_fffffee8 = (char *)pdVar9;\n              goto joined_r0x00056d9b;\n            }\n            puVar23 = local_f4 + 0xe;\n            local_ec = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n            local_cc = 0xc;\n            local_d4 = (dwarf_section *)0xc;\n            local_f0 = (dwarf_section *)0x8;\n          }\n          else {\n            puVar23 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = (dwarf_section *)0x4;\n            local_f0 = (dwarf_section *)0x4;\n            in_stack_fffffee8 = (char *)pdVar9;\n          }\n          if (puVar23 < end) {\n            pdVar9 = (dwarf_section *)0x2;\n          }\n          else if ((end <= puVar16) ||\n                  (pdVar9 = (dwarf_section *)(end + -(int)puVar16),\n                  (undefined1 *)0x7 < (undefined1 *)((int)&pdVar9[-1].user_data + 3U)))\n          goto LAB_00056db1;\nLAB_000566e9:\n          eVar26 = (*byte_get)(puVar16,(int)pdVar9);\n          local_e2 = (ushort)eVar26;\n          in_stack_fffffee8 = (char *)pdVar9;\n        }\n        else {\n          pdVar9 = (dwarf_section *)(end + -(int)local_f4);\n          if ((undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8)\n          goto LAB_00056d25;\n          local_cc = 4;\n          puVar23 = local_f4 + 6;\n          local_d4 = (dwarf_section *)0x4;\n          local_f0 = (dwarf_section *)0x4;\njoined_r0x00056d9b:\n          if (puVar23 < end) {\n            pdVar9 = (dwarf_section *)0x2;\n            local_ec = 0;\n            goto LAB_000566e9;\n          }\n          local_ec = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }\n        uVar10 = (int)local_f4 - (int)puVar1;\n        iVar11 = (int)uVar10 >> 0x1f;\n        if (do_types == 0) {\n          iVar21 = 1;\n          iVar7 = cu_count;\n          this_set = cu_sets;\n        }\n        else {\n          iVar21 = 2;\n          iVar7 = tu_count;\n          this_set = tu_sets;\n        }\n        for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (iVar11 == *(int *)((int)this_set->section_offsets + iVar21 * 8 + 4) &&\n              uVar10 == (uint)this_set->section_offsets[iVar21]) goto joined_r0x0005676e;\n          this_set = this_set + 1;\n        }\n        this_set = (cu_tu_set *)0x0;\njoined_r0x0005676e:\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar8 = 0xff;\n          pdVar9 = (dwarf_section *)in_stack_fffffee8;\njoined_r0x000567df:\n          puVar18 = puVar23 + (int)local_f0;\n          in_stack_fffffee8 = (char *)local_f0;\n          if ((puVar18 < end) ||\n             ((puVar23 < end &&\n              (in_stack_fffffee8 = (char *)(end + -(int)puVar23),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar23))[-1].user_data + 3U) <\n              (undefined1 *)0x8)))) goto LAB_00056caa;\nLAB_000567f7:\n          eVar26 = 0;\n          in_stack_fffffee8 = (char *)pdVar9;\n          eVar27 = 0;\n          if (this_set != (cu_tu_set *)0x0) goto LAB_0005680f;\nLAB_00056cce:\n          eVar26 = eVar27;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(dwarf_section **)(&DAT_000b485c + abbrev_sec * 0x40);\n        }\n        else {\n          puVar18 = puVar16 + 3;\n          if (puVar18 < end) {\n            pdVar9 = (dwarf_section *)0x1;\nLAB_00057245:\n            eVar26 = (*byte_get)(puVar23,(int)pdVar9);\n            local_b4 = (int)eVar26;\n            do_types = (bfd_boolean)(local_b4 == 2);\n            pdVar12 = (dwarf_section *)0x1;\n            if ((puVar16 + 4 < end) ||\n               ((puVar18 < end &&\n                (pdVar12 = (dwarf_section *)(end + -(int)puVar18),\n                (undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)))) {\nLAB_000567c4:\n              puVar23 = puVar16 + 4;\n              eVar26 = (*byte_get)(puVar18,(int)pdVar12);\n              bVar8 = (byte)eVar26;\n              pdVar9 = pdVar12;\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((puVar23 < end) &&\n               (pdVar9 = (dwarf_section *)(end + -(int)puVar23),\n               (undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8))\n            goto LAB_00057245;\n            do_types = 0;\n            local_b4 = 0;\n            pdVar9 = (dwarf_section *)in_stack_fffffee8;\n            if (puVar16 + 4 < end) {\n              pdVar12 = (dwarf_section *)0x1;\n              goto LAB_000567c4;\n            }\n          }\n          puVar23 = puVar16 + 4;\n          bVar8 = 0;\n          puVar18 = puVar23 + (int)local_f0;\n          in_stack_fffffee8 = (char *)local_f0;\n          if (end <= puVar18) goto LAB_000567f7;\nLAB_00056caa:\n          eVar26 = (*byte_get)(puVar23,(int)in_stack_fffffee8);\n          eVar27 = eVar26;\n          if (this_set == (cu_tu_set *)0x0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = (uint)this_set->section_offsets[3];\n          local_98 = *(int *)((int)this_set->section_offsets + 0x1c);\n          local_ac = (dwarf_section *)this_set->section_sizes[3];\n        }\n        puVar16 = puVar18;\n        if (local_e2 < 5) {\n          puVar16 = puVar18 + 1;\n          if (puVar16 < end) {\n            in_stack_fffffee8 = (char *)0x1;\nLAB_00056c35:\n            eVar27 = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n            bVar8 = (byte)eVar27;\n            goto LAB_00056c57;\n          }\n          if ((puVar18 < end) &&\n             (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n             (undefined1 *)\n             ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U) <\n             (undefined1 *)0x8)) goto LAB_00056c35;\n          in_stack_fffffee8 = (char *)0x0;\nLAB_00056853:\n          pcVar13 = (char *)dcgettext(0,\n                                      "Invalid pointer size (%d) in compunit header, using %d instead\n"\n                                      ,5);\n          warn(pcVar13,in_stack_fffffee8,local_f0);\n          bVar8 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar8 - 2)) {\n            in_stack_fffffee8 = (char *)(uint)bVar8;\n            goto LAB_00056853;\n          }\n        }\n        local_bc._0_4_ = 0;\n        if (do_types != 0) {\n          puVar18 = puVar16 + 8;\n          if (end < puVar18) {\n            signature_high._0_4_ = (char *)0x0;\n            signature_high._4_4_ = 0;\n            signature_low._0_4_ = 0;\n            signature_low._4_4_ = 0;\n          }\n          else {\n            in_stack_fffffee8 = (char *)&signature_high;\n            byte_get_64(puVar16,(elf_vma *)in_stack_fffffee8,&signature_low);\n          }\n          puVar16 = puVar18 + (int)local_f0;\n          pdVar9 = local_f0;\n          if ((puVar16 < end) ||\n             ((local_bc._0_4_ = 0, puVar18 < end &&\n              (pdVar9 = (dwarf_section *)(end + -(int)puVar18),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar18))[-1].user_data + 3U) <\n              (undefined1 *)0x8)))) {\n            eVar27 = (*byte_get)(puVar18,(int)pdVar9);\n            local_bc._0_4_ = (uint)eVar27;\n            in_stack_fffffee8 = (char *)pdVar9;\n          }\n        }\n        uVar15 = dwarf_start_die;\n        local_a0 = (uint)(eVar26 >> 0x20);\n        local_b0 = (dwarf_section *)eVar26;\n        uVar14 = (int)local_d4 + uVar10;\n        if (local_ec._4_4_ + (uint)CARRY4(local_cc,(uint)local_ec) + iVar11 +\n            (uint)CARRY4(local_cc + (uint)local_ec,uVar10) <\n            (uint)(local_cc + (uint)local_ec + uVar10 < dwarf_start_die)) {\n          local_f4 = puVar1 + uVar14 + (uint)local_ec;\n        }\n        else {\n          if (do_loc == 0) {\n            if ((do_debug_loc != 0 || do_debug_ranges != 0) && (num_debug_info_entries == 0)) {\nLAB_00056993:\n              if (do_types == 0) {\n                pdVar24 = debug_information + local_a4;\n                pdVar24->pointer_size = (uint)bVar8;\n                *(int *)((int)&pdVar24->cu_offset + 4) = iVar11;\n                *(uint *)&pdVar24->cu_offset = uVar10;\n                pdVar24->offset_size = (uint)local_f0;\n                pdVar24->dwarf_version = (uint)local_e2;\n                *(undefined4 *)&pdVar24->base_address = 0;\n                *(undefined4 *)((int)&pdVar24->base_address + 4) = 0;\n                *(undefined4 *)&pdVar24->addr_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->addr_base + 4) = 0;\n                *(undefined4 *)&pdVar24->ranges_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->ranges_base + 4) = 0;\n                pdVar24->loc_offsets = (dwarf_vma *)0x0;\n                pdVar24->have_frame_base = (int *)0x0;\n                pdVar24->max_loc_offsets = 0;\n                pdVar24->num_loc_offsets = 0;\n                pdVar24->range_lists = (dwarf_vma *)0x0;\n                pdVar24->max_range_lists = 0;\n                pdVar24->num_range_lists = 0;\n              }\n              if (do_loc != 0) goto LAB_00056a44;\n            }\n            if (uVar15 == 0) {\n              pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n              pcVar13 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar13);\n              pcVar13 = "64-bit";\n              if (local_f0 != (dwarf_section *)0x8) {\n                pcVar13 = "32-bit";\n              }\n              pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar17) << 0x20,(uint)local_ec);\n              pcVar19 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar19,pcVar17,pcVar13);\n              pcVar13 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              uVar22 = (uint)local_e2;\n              printf(pcVar13);\n              pcVar13 = dwarf_vmatoa_1("x",(ulonglong)uVar22 << 0x20,(uint)local_b0);\n              pcVar17 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar17,pcVar13);\n              pcVar13 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              in_stack_fffffee8 = (char *)(uint)bVar8;\n              printf(pcVar13);\n              if (do_types != 0) {\n                pcVar13 = dwarf_vmatoa64(CONCAT44(signature_low._4_4_,(undefined4)signature_low),\n                                         CONCAT44(puVar29,buf),(char *)signature_high,\n                                         signature_high._4_4_);\n                pcVar17 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar17);\n                in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)local_bc);\n                pcVar13 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar13);\n              }\n              if (this_set != (cu_tu_set *)0x0) {\n                pcVar13 = "   Section contributions:\n";\n                pcVar17 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[3]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[3]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[4]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[4]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[5]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[5]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[6]);\n                in_stack_fffffee8 =\n                     dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)this_set->section_offsets[6]);\n                pcVar13 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar13,in_stack_fffffee8,pcVar17);\n              }\n            }\n          }\n          else if (num_debug_info_entries == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar22 = local_ec._4_4_ + (uint)CARRY4((uint)local_ec,uVar14);\n          if ((uVar22 < ((uint)local_ec + uVar14 < uVar14)) ||\n             (uVar2 = *(uint *)((int)&section->size + 4),\n             uVar2 < uVar22 ||\n             uVar2 - uVar22 < (uint)((uint)section->size < (uint)local_ec + uVar14))) {\n            pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,(uint)local_ec);\n            pcVar13 = section->name;\n            pcVar19 = (char *)dcgettext(0,\n                                        "Debug info is corrupted, %s header at %#lx has length %s\n"\n                                        ,5);\n            warn(pcVar19,pcVar13,uVar10,pcVar17);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + (int)local_d4 + (uint)local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              puVar29 = (uchar *)0x572c5;\n              free_abbrevs();\n              if (local_a0 < (local_b0 < local_ac)) {\n                iVar11 = abbrev_sec * 0x40;\n                pcVar13 = *(char **)(&DAT_000b485c + iVar11);\n                pdVar9 = (dwarf_section *)((int)&local_ac->uncompressed_name + local_9c);\n                uVar14 = local_98 + (uint)CARRY4((uint)local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + iVar11) < uVar14 ||\n                    *(uint *)(&DAT_000b4860 + iVar11) - uVar14 <\n                    (uint)(pcVar13 < (char *)((int)&local_ac->uncompressed_name + local_9c))) {\n                  pcVar17 = (char *)dcgettext(0,\n                                              "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                              ,5);\n                  warn(pcVar17,pdVar9,pcVar13);\n                  in_stack_fffffee8 = (char *)pdVar9;\n                }\n                else if (first_abbrev == (abbrev_entry *)0x0) {\n                  puVar29 = (uchar *)0x57341;\n                  process_abbrev_section\n                            ((uchar *)((int)&local_b0->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11) + local_9c),\n                             (uchar *)((int)&pdVar9->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11)));\n                }\n              }\n              else {\n                pcVar13 = (char *)dcgettext(0,\n                                            "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                            ,5);\n                warn(pcVar13,local_b0,local_ac);\n                in_stack_fffffee8 = (char *)local_b0;\n              }\n              if (puVar16 < local_f4) {\n                local_78 = (dwarf_section *)0xffffffff;\n                local_70 = (dwarf_section *)0x0;\n                local_d4 = (dwarf_section *)0x0;\n                do {\n                  pdVar12 = (dwarf_section *)(puVar16 + -(int)puVar1);\n                  pdVar9 = (dwarf_section *)0x0;\n                  in_stack_fffffee8 = buf;\n                  puVar29 = local_f4;\n                  dVar28 = read_leb128(puVar16,(uint *)buf,0,local_f4);\n                  uVar15 = (ulong)dVar28;\n                  puVar16 = puVar16 + buf._0_4_;\n                  if (uVar15 == 0) {\n                    if ((local_d4 == (dwarf_section *)0x0) && (end == local_f4)) {\n                      puVar18 = puVar16;\n                      if (puVar16 < local_f4) {\n                        while (*puVar18 == '\0') {\n                          puVar18 = puVar18 + 1;\n                          if (local_f4 == puVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == puVar16) break;\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         ((0 < dwarf_cutoff_level || (dwarf_cutoff_level == -1)))) {\n                        pdVar9 = (dwarf_section *)0xffffffff;\nLAB_00057496:\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar13,local_d4,pdVar12);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        if (-1 < (int)pdVar9) goto LAB_00057428;\n                      }\n                      else {\n                        pdVar9 = (dwarf_section *)0xffffffff;\n                        local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      }\nLAB_000574d0:\n                      in_stack_fffffee8 = (char *)local_d4;\n                      if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                          lexical_block_12_26_8::num_bogus_warns < 3) {\n                        pcVar13 = section->name;\n                        pcVar17 = (char *)dcgettext(0,\n                                                  "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                                  ,5);\n                        warn(pcVar17,pdVar12,pcVar13);\n                        process_debug_info::lexical_block_12::lexical_block_12_26::\n                        lexical_block_12_26_8::num_bogus_warns =\n                             process_debug_info::lexical_block_12::lexical_block_12_26::\n                             lexical_block_12_26_8::num_bogus_warns + 1;\n                        in_stack_fffffee8 = (char *)pdVar12;\n                        if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                            lexical_block_12_26_8::num_bogus_warns == 3) {\n                          in_stack_fffffee8 =\n                               "Further warnings about bogus end-of-sibling markers suppressed\n";\n                          pcVar13 = (char *)dcgettext(0,\n                                                  "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                                  ,5);\n                          warn(pcVar13);\n                        }\n                      }\n                    }\n                    else {\n                      pdVar9 = (dwarf_section *)((int)&local_d4[-1].user_data + 3);\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         (((int)local_d4 < dwarf_cutoff_level || (dwarf_cutoff_level == -1))))\n                      goto LAB_00057496;\n                      local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      if ((int)pdVar9 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = pdVar9;\n                    if ((dwarf_start_die != 0) && ((int)pdVar9 < (int)local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (do_loc == 0) {\n                      if (dwarf_start_die != 0) {\n                        if (pdVar12 < dwarf_start_die) {\n                          bVar20 = false;\n                          iVar11 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if ((dwarf_section *)dwarf_start_die == pdVar12) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar20 = dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level;\n                      if (dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level) {\n                        in_stack_fffffee8 = " <%d><%lx>: Abbrev Number: %lu";\n                        pdVar9 = (dwarf_section *)0x5;\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar13,local_d4,pdVar12,uVar15);\n                        local_70 = local_d4;\n                        iVar11 = 1;\n                      }\n                      else if ((int)local_70 < dwarf_cutoff_level) {\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        pdVar9 = pdVar12;\n                        printf(pcVar13,local_d4,pdVar12);\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                    }\n                    else {\n                      bVar20 = false;\n                      iVar11 = do_loc;\n                    }\nLAB_0005783c:\n                    if (first_abbrev == (abbrev_entry *)0x0) {\nLAB_00057dbe:\n                      if (bVar20) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      pcVar13 = (char *)dcgettext(0,\n                                                  "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                                  ,5);\n                      warn(pcVar13,pdVar12,uVar15);\n                      return 0;\n                    }\n                    uVar3 = first_abbrev->entry;\n                    paVar4 = first_abbrev;\n                    while (uVar3 != uVar15) {\n                      paVar4 = paVar4->next;\n                      if (paVar4 == (abbrev_entry *)0x0) goto LAB_00057dbe;\n                      uVar3 = paVar4->entry;\n                    }\n                    uVar15 = paVar4->tag;\n                    if (bVar20) {\n                      puVar29 = (uchar *)0x57bcc;\n                      in_stack_fffffee8 = get_TAG_name(uVar15);\n                      printf(" (%s)\n",in_stack_fffffee8,pdVar9);\n                      uVar15 = paVar4->tag;\n                    }\n                    if (uVar15 == 0x11) {\n                      need_base_address = 1;\n                      need_dwo_info = do_loc;\n                    }\n                    else if ((uVar15 == 0x2e) || (uVar15 == 3)) {\n                      need_base_address = 0;\n                      have_frame_base = 0;\n                    }\n                    else {\n                      need_base_address = 0;\n                    }\n                    if (((debug_information == (debug_info *)0x0) ||\n                        (alloc_num_debug_info_entries <= local_a4)) ||\n                       (pdVar24 = debug_information + local_a4, pdVar24 == (debug_info *)0x0)) {\n                      paVar25 = paVar4->first_attr;\n                      if ((paVar25 != (abbrev_attr *)0x0) &&\n                         (pdVar24 = (debug_info *)0x0, paVar25->attribute != 0)) {\nLAB_000578fa:\n                        local_bc = ZEXT48(local_f0);\n                        do {\n                          if (bVar20) {\n                            printf("    <%lx>",(int)puVar16 - (int)puVar1);\n                          }\n                          uVar15 = paVar25->form;\n                          implicit_const = paVar25->implicit_const;\n                          uVar3 = paVar25->attribute;\n                          if (iVar11 == 1 && do_loc == 0) {\n                            puVar29 = (uchar *)0x579ff;\n                            in_stack_fffffee8 = get_AT_name(uVar3);\n                            printf("   %-18s:");\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,\n                                                 ' ');\n                            putchar(10);\n                            paVar25 = paVar25->next;\n                          }\n                          else {\n                            puVar29 = (uchar *)0x20;\n                            in_stack_fffffee8 = (char *)section;\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ');\n                            paVar25 = paVar25->next;\n                          }\n                        } while ((paVar25 != (abbrev_attr *)0x0) && (paVar25->attribute != 0));\n                        if (pdVar24 != (debug_info *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (pdVar24->num_loc_offsets != pdVar24->num_loc_views) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      paVar25 = paVar4->first_attr;\n                      if (paVar25 != (abbrev_attr *)0x0) {\n                        if (paVar25->attribute != 0) goto LAB_000578fa;\nLAB_00057a88:\n                        uVar14 = pdVar24->num_loc_offsets;\n                        uVar22 = pdVar24->num_loc_views;\n                        if (uVar14 - uVar22 == 1) {\n                          pdVar6 = pdVar24->loc_views;\n                          *(undefined4 *)(pdVar6 + uVar22) = 0xffffffff;\n                          *(undefined4 *)((int)pdVar6 + uVar22 * 8 + 4) = 0xffffffff;\n                          pdVar24->num_loc_views = uVar22 + 1;\n                          if (uVar22 + 1 != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (uVar14 != uVar22) {\n                          if (uVar14 - uVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          in_stack_fffffee8 = "DIE has locviews without loclist\n";\n                          pcVar13 = (char *)dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(pcVar13);\n                          pdVar24->num_loc_views = pdVar24->num_loc_views - 1;\n                        }\n                      }\n                    }\n                    local_d4 = (dwarf_section *)\n                               ((int)&local_d4->uncompressed_name + (uint)(paVar4->children != 0));\n                  }\n                } while (puVar16 < local_f4);\n              }\n            }\n            else {\n              in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n              pcVar13 = (char *)dcgettext(0,\n                                          "CU at offset %s contains corrupt or unsupported unit type: %d.\n"\n                                          ,5);\n              warn(pcVar13,in_stack_fffffee8,local_b4);\n            }\n          }\n          else {\n            in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n            pcVar13 = (char *)dcgettext(0,\n                                        "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                                        ,5);\n            warn(pcVar13,in_stack_fffffee8,(uint)local_e2);\n          }\n        }\nLAB_00056ae6:\n        local_a4 = local_a4 + 1;\n      } while (local_f4 < end);\n      if (do_loc != 0) goto LAB_00057752;\n    }" { (labeled_statement "LAB_0005662b:\n      local_a4 = 0;" statement_identifier : (expression_statement "local_a4 = 0;" (assignment_expression "local_a4 = 0" identifier = number_literal) ;)) (expression_statement "local_f4 = puVar1;" (assignment_expression "local_f4 = puVar1" identifier = identifier) ;) (do_statement "do {\n        signature_high._0_4_ = (char *)0x0;\n        signature_high._4_4_ = 0;\n        signature_low._0_4_ = 0;\n        puVar18 = local_f4 + 4;\n        signature_low._4_4_ = 0;\n        puVar16 = puVar18;\n        if (puVar18 < end) {\n          pdVar9 = (dwarf_section *)0x4;\nLAB_00056d25:\n          local_ec = (*byte_get)(local_f4,(int)pdVar9);\n          if (local_ec == 0xffffffff) {\n            puVar16 = local_f4 + 0xc;\n            if (puVar16 < end) {\n              in_stack_fffffee8 = (char *)0x8;\n            }\n            else if ((end <= puVar18) ||\n                    (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n                    (undefined1 *)0x7 <\n                    (undefined1 *)\n                    ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U))) {\n              local_cc = 0xc;\n              puVar23 = local_f4 + 0xe;\n              local_d4 = (dwarf_section *)0xc;\n              local_f0 = (dwarf_section *)0x8;\n              in_stack_fffffee8 = (char *)pdVar9;\n              goto joined_r0x00056d9b;\n            }\n            puVar23 = local_f4 + 0xe;\n            local_ec = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n            local_cc = 0xc;\n            local_d4 = (dwarf_section *)0xc;\n            local_f0 = (dwarf_section *)0x8;\n          }\n          else {\n            puVar23 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = (dwarf_section *)0x4;\n            local_f0 = (dwarf_section *)0x4;\n            in_stack_fffffee8 = (char *)pdVar9;\n          }\n          if (puVar23 < end) {\n            pdVar9 = (dwarf_section *)0x2;\n          }\n          else if ((end <= puVar16) ||\n                  (pdVar9 = (dwarf_section *)(end + -(int)puVar16),\n                  (undefined1 *)0x7 < (undefined1 *)((int)&pdVar9[-1].user_data + 3U)))\n          goto LAB_00056db1;\nLAB_000566e9:\n          eVar26 = (*byte_get)(puVar16,(int)pdVar9);\n          local_e2 = (ushort)eVar26;\n          in_stack_fffffee8 = (char *)pdVar9;\n        }\n        else {\n          pdVar9 = (dwarf_section *)(end + -(int)local_f4);\n          if ((undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8)\n          goto LAB_00056d25;\n          local_cc = 4;\n          puVar23 = local_f4 + 6;\n          local_d4 = (dwarf_section *)0x4;\n          local_f0 = (dwarf_section *)0x4;\njoined_r0x00056d9b:\n          if (puVar23 < end) {\n            pdVar9 = (dwarf_section *)0x2;\n            local_ec = 0;\n            goto LAB_000566e9;\n          }\n          local_ec = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }\n        uVar10 = (int)local_f4 - (int)puVar1;\n        iVar11 = (int)uVar10 >> 0x1f;\n        if (do_types == 0) {\n          iVar21 = 1;\n          iVar7 = cu_count;\n          this_set = cu_sets;\n        }\n        else {\n          iVar21 = 2;\n          iVar7 = tu_count;\n          this_set = tu_sets;\n        }\n        for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (iVar11 == *(int *)((int)this_set->section_offsets + iVar21 * 8 + 4) &&\n              uVar10 == (uint)this_set->section_offsets[iVar21]) goto joined_r0x0005676e;\n          this_set = this_set + 1;\n        }\n        this_set = (cu_tu_set *)0x0;\njoined_r0x0005676e:\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar8 = 0xff;\n          pdVar9 = (dwarf_section *)in_stack_fffffee8;\njoined_r0x000567df:\n          puVar18 = puVar23 + (int)local_f0;\n          in_stack_fffffee8 = (char *)local_f0;\n          if ((puVar18 < end) ||\n             ((puVar23 < end &&\n              (in_stack_fffffee8 = (char *)(end + -(int)puVar23),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar23))[-1].user_data + 3U) <\n              (undefined1 *)0x8)))) goto LAB_00056caa;\nLAB_000567f7:\n          eVar26 = 0;\n          in_stack_fffffee8 = (char *)pdVar9;\n          eVar27 = 0;\n          if (this_set != (cu_tu_set *)0x0) goto LAB_0005680f;\nLAB_00056cce:\n          eVar26 = eVar27;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(dwarf_section **)(&DAT_000b485c + abbrev_sec * 0x40);\n        }\n        else {\n          puVar18 = puVar16 + 3;\n          if (puVar18 < end) {\n            pdVar9 = (dwarf_section *)0x1;\nLAB_00057245:\n            eVar26 = (*byte_get)(puVar23,(int)pdVar9);\n            local_b4 = (int)eVar26;\n            do_types = (bfd_boolean)(local_b4 == 2);\n            pdVar12 = (dwarf_section *)0x1;\n            if ((puVar16 + 4 < end) ||\n               ((puVar18 < end &&\n                (pdVar12 = (dwarf_section *)(end + -(int)puVar18),\n                (undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)))) {\nLAB_000567c4:\n              puVar23 = puVar16 + 4;\n              eVar26 = (*byte_get)(puVar18,(int)pdVar12);\n              bVar8 = (byte)eVar26;\n              pdVar9 = pdVar12;\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((puVar23 < end) &&\n               (pdVar9 = (dwarf_section *)(end + -(int)puVar23),\n               (undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8))\n            goto LAB_00057245;\n            do_types = 0;\n            local_b4 = 0;\n            pdVar9 = (dwarf_section *)in_stack_fffffee8;\n            if (puVar16 + 4 < end) {\n              pdVar12 = (dwarf_section *)0x1;\n              goto LAB_000567c4;\n            }\n          }\n          puVar23 = puVar16 + 4;\n          bVar8 = 0;\n          puVar18 = puVar23 + (int)local_f0;\n          in_stack_fffffee8 = (char *)local_f0;\n          if (end <= puVar18) goto LAB_000567f7;\nLAB_00056caa:\n          eVar26 = (*byte_get)(puVar23,(int)in_stack_fffffee8);\n          eVar27 = eVar26;\n          if (this_set == (cu_tu_set *)0x0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = (uint)this_set->section_offsets[3];\n          local_98 = *(int *)((int)this_set->section_offsets + 0x1c);\n          local_ac = (dwarf_section *)this_set->section_sizes[3];\n        }\n        puVar16 = puVar18;\n        if (local_e2 < 5) {\n          puVar16 = puVar18 + 1;\n          if (puVar16 < end) {\n            in_stack_fffffee8 = (char *)0x1;\nLAB_00056c35:\n            eVar27 = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n            bVar8 = (byte)eVar27;\n            goto LAB_00056c57;\n          }\n          if ((puVar18 < end) &&\n             (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n             (undefined1 *)\n             ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U) <\n             (undefined1 *)0x8)) goto LAB_00056c35;\n          in_stack_fffffee8 = (char *)0x0;\nLAB_00056853:\n          pcVar13 = (char *)dcgettext(0,\n                                      "Invalid pointer size (%d) in compunit header, using %d instead\n"\n                                      ,5);\n          warn(pcVar13,in_stack_fffffee8,local_f0);\n          bVar8 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar8 - 2)) {\n            in_stack_fffffee8 = (char *)(uint)bVar8;\n            goto LAB_00056853;\n          }\n        }\n        local_bc._0_4_ = 0;\n        if (do_types != 0) {\n          puVar18 = puVar16 + 8;\n          if (end < puVar18) {\n            signature_high._0_4_ = (char *)0x0;\n            signature_high._4_4_ = 0;\n            signature_low._0_4_ = 0;\n            signature_low._4_4_ = 0;\n          }\n          else {\n            in_stack_fffffee8 = (char *)&signature_high;\n            byte_get_64(puVar16,(elf_vma *)in_stack_fffffee8,&signature_low);\n          }\n          puVar16 = puVar18 + (int)local_f0;\n          pdVar9 = local_f0;\n          if ((puVar16 < end) ||\n             ((local_bc._0_4_ = 0, puVar18 < end &&\n              (pdVar9 = (dwarf_section *)(end + -(int)puVar18),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar18))[-1].user_data + 3U) <\n              (undefined1 *)0x8)))) {\n            eVar27 = (*byte_get)(puVar18,(int)pdVar9);\n            local_bc._0_4_ = (uint)eVar27;\n            in_stack_fffffee8 = (char *)pdVar9;\n          }\n        }\n        uVar15 = dwarf_start_die;\n        local_a0 = (uint)(eVar26 >> 0x20);\n        local_b0 = (dwarf_section *)eVar26;\n        uVar14 = (int)local_d4 + uVar10;\n        if (local_ec._4_4_ + (uint)CARRY4(local_cc,(uint)local_ec) + iVar11 +\n            (uint)CARRY4(local_cc + (uint)local_ec,uVar10) <\n            (uint)(local_cc + (uint)local_ec + uVar10 < dwarf_start_die)) {\n          local_f4 = puVar1 + uVar14 + (uint)local_ec;\n        }\n        else {\n          if (do_loc == 0) {\n            if ((do_debug_loc != 0 || do_debug_ranges != 0) && (num_debug_info_entries == 0)) {\nLAB_00056993:\n              if (do_types == 0) {\n                pdVar24 = debug_information + local_a4;\n                pdVar24->pointer_size = (uint)bVar8;\n                *(int *)((int)&pdVar24->cu_offset + 4) = iVar11;\n                *(uint *)&pdVar24->cu_offset = uVar10;\n                pdVar24->offset_size = (uint)local_f0;\n                pdVar24->dwarf_version = (uint)local_e2;\n                *(undefined4 *)&pdVar24->base_address = 0;\n                *(undefined4 *)((int)&pdVar24->base_address + 4) = 0;\n                *(undefined4 *)&pdVar24->addr_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->addr_base + 4) = 0;\n                *(undefined4 *)&pdVar24->ranges_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->ranges_base + 4) = 0;\n                pdVar24->loc_offsets = (dwarf_vma *)0x0;\n                pdVar24->have_frame_base = (int *)0x0;\n                pdVar24->max_loc_offsets = 0;\n                pdVar24->num_loc_offsets = 0;\n                pdVar24->range_lists = (dwarf_vma *)0x0;\n                pdVar24->max_range_lists = 0;\n                pdVar24->num_range_lists = 0;\n              }\n              if (do_loc != 0) goto LAB_00056a44;\n            }\n            if (uVar15 == 0) {\n              pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n              pcVar13 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar13);\n              pcVar13 = "64-bit";\n              if (local_f0 != (dwarf_section *)0x8) {\n                pcVar13 = "32-bit";\n              }\n              pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar17) << 0x20,(uint)local_ec);\n              pcVar19 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar19,pcVar17,pcVar13);\n              pcVar13 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              uVar22 = (uint)local_e2;\n              printf(pcVar13);\n              pcVar13 = dwarf_vmatoa_1("x",(ulonglong)uVar22 << 0x20,(uint)local_b0);\n              pcVar17 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar17,pcVar13);\n              pcVar13 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              in_stack_fffffee8 = (char *)(uint)bVar8;\n              printf(pcVar13);\n              if (do_types != 0) {\n                pcVar13 = dwarf_vmatoa64(CONCAT44(signature_low._4_4_,(undefined4)signature_low),\n                                         CONCAT44(puVar29,buf),(char *)signature_high,\n                                         signature_high._4_4_);\n                pcVar17 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar17);\n                in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)local_bc);\n                pcVar13 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar13);\n              }\n              if (this_set != (cu_tu_set *)0x0) {\n                pcVar13 = "   Section contributions:\n";\n                pcVar17 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[3]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[3]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[4]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[4]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[5]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[5]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[6]);\n                in_stack_fffffee8 =\n                     dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)this_set->section_offsets[6]);\n                pcVar13 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar13,in_stack_fffffee8,pcVar17);\n              }\n            }\n          }\n          else if (num_debug_info_entries == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar22 = local_ec._4_4_ + (uint)CARRY4((uint)local_ec,uVar14);\n          if ((uVar22 < ((uint)local_ec + uVar14 < uVar14)) ||\n             (uVar2 = *(uint *)((int)&section->size + 4),\n             uVar2 < uVar22 ||\n             uVar2 - uVar22 < (uint)((uint)section->size < (uint)local_ec + uVar14))) {\n            pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,(uint)local_ec);\n            pcVar13 = section->name;\n            pcVar19 = (char *)dcgettext(0,\n                                        "Debug info is corrupted, %s header at %#lx has length %s\n"\n                                        ,5);\n            warn(pcVar19,pcVar13,uVar10,pcVar17);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + (int)local_d4 + (uint)local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              puVar29 = (uchar *)0x572c5;\n              free_abbrevs();\n              if (local_a0 < (local_b0 < local_ac)) {\n                iVar11 = abbrev_sec * 0x40;\n                pcVar13 = *(char **)(&DAT_000b485c + iVar11);\n                pdVar9 = (dwarf_section *)((int)&local_ac->uncompressed_name + local_9c);\n                uVar14 = local_98 + (uint)CARRY4((uint)local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + iVar11) < uVar14 ||\n                    *(uint *)(&DAT_000b4860 + iVar11) - uVar14 <\n                    (uint)(pcVar13 < (char *)((int)&local_ac->uncompressed_name + local_9c))) {\n                  pcVar17 = (char *)dcgettext(0,\n                                              "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                              ,5);\n                  warn(pcVar17,pdVar9,pcVar13);\n                  in_stack_fffffee8 = (char *)pdVar9;\n                }\n                else if (first_abbrev == (abbrev_entry *)0x0) {\n                  puVar29 = (uchar *)0x57341;\n                  process_abbrev_section\n                            ((uchar *)((int)&local_b0->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11) + local_9c),\n                             (uchar *)((int)&pdVar9->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11)));\n                }\n              }\n              else {\n                pcVar13 = (char *)dcgettext(0,\n                                            "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                            ,5);\n                warn(pcVar13,local_b0,local_ac);\n                in_stack_fffffee8 = (char *)local_b0;\n              }\n              if (puVar16 < local_f4) {\n                local_78 = (dwarf_section *)0xffffffff;\n                local_70 = (dwarf_section *)0x0;\n                local_d4 = (dwarf_section *)0x0;\n                do {\n                  pdVar12 = (dwarf_section *)(puVar16 + -(int)puVar1);\n                  pdVar9 = (dwarf_section *)0x0;\n                  in_stack_fffffee8 = buf;\n                  puVar29 = local_f4;\n                  dVar28 = read_leb128(puVar16,(uint *)buf,0,local_f4);\n                  uVar15 = (ulong)dVar28;\n                  puVar16 = puVar16 + buf._0_4_;\n                  if (uVar15 == 0) {\n                    if ((local_d4 == (dwarf_section *)0x0) && (end == local_f4)) {\n                      puVar18 = puVar16;\n                      if (puVar16 < local_f4) {\n                        while (*puVar18 == '\0') {\n                          puVar18 = puVar18 + 1;\n                          if (local_f4 == puVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == puVar16) break;\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         ((0 < dwarf_cutoff_level || (dwarf_cutoff_level == -1)))) {\n                        pdVar9 = (dwarf_section *)0xffffffff;\nLAB_00057496:\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar13,local_d4,pdVar12);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        if (-1 < (int)pdVar9) goto LAB_00057428;\n                      }\n                      else {\n                        pdVar9 = (dwarf_section *)0xffffffff;\n                        local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      }\nLAB_000574d0:\n                      in_stack_fffffee8 = (char *)local_d4;\n                      if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                          lexical_block_12_26_8::num_bogus_warns < 3) {\n                        pcVar13 = section->name;\n                        pcVar17 = (char *)dcgettext(0,\n                                                  "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                                  ,5);\n                        warn(pcVar17,pdVar12,pcVar13);\n                        process_debug_info::lexical_block_12::lexical_block_12_26::\n                        lexical_block_12_26_8::num_bogus_warns =\n                             process_debug_info::lexical_block_12::lexical_block_12_26::\n                             lexical_block_12_26_8::num_bogus_warns + 1;\n                        in_stack_fffffee8 = (char *)pdVar12;\n                        if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                            lexical_block_12_26_8::num_bogus_warns == 3) {\n                          in_stack_fffffee8 =\n                               "Further warnings about bogus end-of-sibling markers suppressed\n";\n                          pcVar13 = (char *)dcgettext(0,\n                                                  "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                                  ,5);\n                          warn(pcVar13);\n                        }\n                      }\n                    }\n                    else {\n                      pdVar9 = (dwarf_section *)((int)&local_d4[-1].user_data + 3);\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         (((int)local_d4 < dwarf_cutoff_level || (dwarf_cutoff_level == -1))))\n                      goto LAB_00057496;\n                      local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      if ((int)pdVar9 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = pdVar9;\n                    if ((dwarf_start_die != 0) && ((int)pdVar9 < (int)local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (do_loc == 0) {\n                      if (dwarf_start_die != 0) {\n                        if (pdVar12 < dwarf_start_die) {\n                          bVar20 = false;\n                          iVar11 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if ((dwarf_section *)dwarf_start_die == pdVar12) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar20 = dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level;\n                      if (dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level) {\n                        in_stack_fffffee8 = " <%d><%lx>: Abbrev Number: %lu";\n                        pdVar9 = (dwarf_section *)0x5;\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar13,local_d4,pdVar12,uVar15);\n                        local_70 = local_d4;\n                        iVar11 = 1;\n                      }\n                      else if ((int)local_70 < dwarf_cutoff_level) {\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        pdVar9 = pdVar12;\n                        printf(pcVar13,local_d4,pdVar12);\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                    }\n                    else {\n                      bVar20 = false;\n                      iVar11 = do_loc;\n                    }\nLAB_0005783c:\n                    if (first_abbrev == (abbrev_entry *)0x0) {\nLAB_00057dbe:\n                      if (bVar20) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      pcVar13 = (char *)dcgettext(0,\n                                                  "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                                  ,5);\n                      warn(pcVar13,pdVar12,uVar15);\n                      return 0;\n                    }\n                    uVar3 = first_abbrev->entry;\n                    paVar4 = first_abbrev;\n                    while (uVar3 != uVar15) {\n                      paVar4 = paVar4->next;\n                      if (paVar4 == (abbrev_entry *)0x0) goto LAB_00057dbe;\n                      uVar3 = paVar4->entry;\n                    }\n                    uVar15 = paVar4->tag;\n                    if (bVar20) {\n                      puVar29 = (uchar *)0x57bcc;\n                      in_stack_fffffee8 = get_TAG_name(uVar15);\n                      printf(" (%s)\n",in_stack_fffffee8,pdVar9);\n                      uVar15 = paVar4->tag;\n                    }\n                    if (uVar15 == 0x11) {\n                      need_base_address = 1;\n                      need_dwo_info = do_loc;\n                    }\n                    else if ((uVar15 == 0x2e) || (uVar15 == 3)) {\n                      need_base_address = 0;\n                      have_frame_base = 0;\n                    }\n                    else {\n                      need_base_address = 0;\n                    }\n                    if (((debug_information == (debug_info *)0x0) ||\n                        (alloc_num_debug_info_entries <= local_a4)) ||\n                       (pdVar24 = debug_information + local_a4, pdVar24 == (debug_info *)0x0)) {\n                      paVar25 = paVar4->first_attr;\n                      if ((paVar25 != (abbrev_attr *)0x0) &&\n                         (pdVar24 = (debug_info *)0x0, paVar25->attribute != 0)) {\nLAB_000578fa:\n                        local_bc = ZEXT48(local_f0);\n                        do {\n                          if (bVar20) {\n                            printf("    <%lx>",(int)puVar16 - (int)puVar1);\n                          }\n                          uVar15 = paVar25->form;\n                          implicit_const = paVar25->implicit_const;\n                          uVar3 = paVar25->attribute;\n                          if (iVar11 == 1 && do_loc == 0) {\n                            puVar29 = (uchar *)0x579ff;\n                            in_stack_fffffee8 = get_AT_name(uVar3);\n                            printf("   %-18s:");\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,\n                                                 ' ');\n                            putchar(10);\n                            paVar25 = paVar25->next;\n                          }\n                          else {\n                            puVar29 = (uchar *)0x20;\n                            in_stack_fffffee8 = (char *)section;\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ');\n                            paVar25 = paVar25->next;\n                          }\n                        } while ((paVar25 != (abbrev_attr *)0x0) && (paVar25->attribute != 0));\n                        if (pdVar24 != (debug_info *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (pdVar24->num_loc_offsets != pdVar24->num_loc_views) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      paVar25 = paVar4->first_attr;\n                      if (paVar25 != (abbrev_attr *)0x0) {\n                        if (paVar25->attribute != 0) goto LAB_000578fa;\nLAB_00057a88:\n                        uVar14 = pdVar24->num_loc_offsets;\n                        uVar22 = pdVar24->num_loc_views;\n                        if (uVar14 - uVar22 == 1) {\n                          pdVar6 = pdVar24->loc_views;\n                          *(undefined4 *)(pdVar6 + uVar22) = 0xffffffff;\n                          *(undefined4 *)((int)pdVar6 + uVar22 * 8 + 4) = 0xffffffff;\n                          pdVar24->num_loc_views = uVar22 + 1;\n                          if (uVar22 + 1 != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (uVar14 != uVar22) {\n                          if (uVar14 - uVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          in_stack_fffffee8 = "DIE has locviews without loclist\n";\n                          pcVar13 = (char *)dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(pcVar13);\n                          pdVar24->num_loc_views = pdVar24->num_loc_views - 1;\n                        }\n                      }\n                    }\n                    local_d4 = (dwarf_section *)\n                               ((int)&local_d4->uncompressed_name + (uint)(paVar4->children != 0));\n                  }\n                } while (puVar16 < local_f4);\n              }\n            }\n            else {\n              in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n              pcVar13 = (char *)dcgettext(0,\n                                          "CU at offset %s contains corrupt or unsupported unit type: %d.\n"\n                                          ,5);\n              warn(pcVar13,in_stack_fffffee8,local_b4);\n            }\n          }\n          else {\n            in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n            pcVar13 = (char *)dcgettext(0,\n                                        "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                                        ,5);\n            warn(pcVar13,in_stack_fffffee8,(uint)local_e2);\n          }\n        }\nLAB_00056ae6:\n        local_a4 = local_a4 + 1;\n      } while (local_f4 < end);" do (compound_statement "{\n        signature_high._0_4_ = (char *)0x0;\n        signature_high._4_4_ = 0;\n        signature_low._0_4_ = 0;\n        puVar18 = local_f4 + 4;\n        signature_low._4_4_ = 0;\n        puVar16 = puVar18;\n        if (puVar18 < end) {\n          pdVar9 = (dwarf_section *)0x4;\nLAB_00056d25:\n          local_ec = (*byte_get)(local_f4,(int)pdVar9);\n          if (local_ec == 0xffffffff) {\n            puVar16 = local_f4 + 0xc;\n            if (puVar16 < end) {\n              in_stack_fffffee8 = (char *)0x8;\n            }\n            else if ((end <= puVar18) ||\n                    (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n                    (undefined1 *)0x7 <\n                    (undefined1 *)\n                    ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U))) {\n              local_cc = 0xc;\n              puVar23 = local_f4 + 0xe;\n              local_d4 = (dwarf_section *)0xc;\n              local_f0 = (dwarf_section *)0x8;\n              in_stack_fffffee8 = (char *)pdVar9;\n              goto joined_r0x00056d9b;\n            }\n            puVar23 = local_f4 + 0xe;\n            local_ec = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n            local_cc = 0xc;\n            local_d4 = (dwarf_section *)0xc;\n            local_f0 = (dwarf_section *)0x8;\n          }\n          else {\n            puVar23 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = (dwarf_section *)0x4;\n            local_f0 = (dwarf_section *)0x4;\n            in_stack_fffffee8 = (char *)pdVar9;\n          }\n          if (puVar23 < end) {\n            pdVar9 = (dwarf_section *)0x2;\n          }\n          else if ((end <= puVar16) ||\n                  (pdVar9 = (dwarf_section *)(end + -(int)puVar16),\n                  (undefined1 *)0x7 < (undefined1 *)((int)&pdVar9[-1].user_data + 3U)))\n          goto LAB_00056db1;\nLAB_000566e9:\n          eVar26 = (*byte_get)(puVar16,(int)pdVar9);\n          local_e2 = (ushort)eVar26;\n          in_stack_fffffee8 = (char *)pdVar9;\n        }\n        else {\n          pdVar9 = (dwarf_section *)(end + -(int)local_f4);\n          if ((undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8)\n          goto LAB_00056d25;\n          local_cc = 4;\n          puVar23 = local_f4 + 6;\n          local_d4 = (dwarf_section *)0x4;\n          local_f0 = (dwarf_section *)0x4;\njoined_r0x00056d9b:\n          if (puVar23 < end) {\n            pdVar9 = (dwarf_section *)0x2;\n            local_ec = 0;\n            goto LAB_000566e9;\n          }\n          local_ec = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }\n        uVar10 = (int)local_f4 - (int)puVar1;\n        iVar11 = (int)uVar10 >> 0x1f;\n        if (do_types == 0) {\n          iVar21 = 1;\n          iVar7 = cu_count;\n          this_set = cu_sets;\n        }\n        else {\n          iVar21 = 2;\n          iVar7 = tu_count;\n          this_set = tu_sets;\n        }\n        for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (iVar11 == *(int *)((int)this_set->section_offsets + iVar21 * 8 + 4) &&\n              uVar10 == (uint)this_set->section_offsets[iVar21]) goto joined_r0x0005676e;\n          this_set = this_set + 1;\n        }\n        this_set = (cu_tu_set *)0x0;\njoined_r0x0005676e:\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar8 = 0xff;\n          pdVar9 = (dwarf_section *)in_stack_fffffee8;\njoined_r0x000567df:\n          puVar18 = puVar23 + (int)local_f0;\n          in_stack_fffffee8 = (char *)local_f0;\n          if ((puVar18 < end) ||\n             ((puVar23 < end &&\n              (in_stack_fffffee8 = (char *)(end + -(int)puVar23),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar23))[-1].user_data + 3U) <\n              (undefined1 *)0x8)))) goto LAB_00056caa;\nLAB_000567f7:\n          eVar26 = 0;\n          in_stack_fffffee8 = (char *)pdVar9;\n          eVar27 = 0;\n          if (this_set != (cu_tu_set *)0x0) goto LAB_0005680f;\nLAB_00056cce:\n          eVar26 = eVar27;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(dwarf_section **)(&DAT_000b485c + abbrev_sec * 0x40);\n        }\n        else {\n          puVar18 = puVar16 + 3;\n          if (puVar18 < end) {\n            pdVar9 = (dwarf_section *)0x1;\nLAB_00057245:\n            eVar26 = (*byte_get)(puVar23,(int)pdVar9);\n            local_b4 = (int)eVar26;\n            do_types = (bfd_boolean)(local_b4 == 2);\n            pdVar12 = (dwarf_section *)0x1;\n            if ((puVar16 + 4 < end) ||\n               ((puVar18 < end &&\n                (pdVar12 = (dwarf_section *)(end + -(int)puVar18),\n                (undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)))) {\nLAB_000567c4:\n              puVar23 = puVar16 + 4;\n              eVar26 = (*byte_get)(puVar18,(int)pdVar12);\n              bVar8 = (byte)eVar26;\n              pdVar9 = pdVar12;\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((puVar23 < end) &&\n               (pdVar9 = (dwarf_section *)(end + -(int)puVar23),\n               (undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8))\n            goto LAB_00057245;\n            do_types = 0;\n            local_b4 = 0;\n            pdVar9 = (dwarf_section *)in_stack_fffffee8;\n            if (puVar16 + 4 < end) {\n              pdVar12 = (dwarf_section *)0x1;\n              goto LAB_000567c4;\n            }\n          }\n          puVar23 = puVar16 + 4;\n          bVar8 = 0;\n          puVar18 = puVar23 + (int)local_f0;\n          in_stack_fffffee8 = (char *)local_f0;\n          if (end <= puVar18) goto LAB_000567f7;\nLAB_00056caa:\n          eVar26 = (*byte_get)(puVar23,(int)in_stack_fffffee8);\n          eVar27 = eVar26;\n          if (this_set == (cu_tu_set *)0x0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = (uint)this_set->section_offsets[3];\n          local_98 = *(int *)((int)this_set->section_offsets + 0x1c);\n          local_ac = (dwarf_section *)this_set->section_sizes[3];\n        }\n        puVar16 = puVar18;\n        if (local_e2 < 5) {\n          puVar16 = puVar18 + 1;\n          if (puVar16 < end) {\n            in_stack_fffffee8 = (char *)0x1;\nLAB_00056c35:\n            eVar27 = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n            bVar8 = (byte)eVar27;\n            goto LAB_00056c57;\n          }\n          if ((puVar18 < end) &&\n             (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n             (undefined1 *)\n             ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U) <\n             (undefined1 *)0x8)) goto LAB_00056c35;\n          in_stack_fffffee8 = (char *)0x0;\nLAB_00056853:\n          pcVar13 = (char *)dcgettext(0,\n                                      "Invalid pointer size (%d) in compunit header, using %d instead\n"\n                                      ,5);\n          warn(pcVar13,in_stack_fffffee8,local_f0);\n          bVar8 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar8 - 2)) {\n            in_stack_fffffee8 = (char *)(uint)bVar8;\n            goto LAB_00056853;\n          }\n        }\n        local_bc._0_4_ = 0;\n        if (do_types != 0) {\n          puVar18 = puVar16 + 8;\n          if (end < puVar18) {\n            signature_high._0_4_ = (char *)0x0;\n            signature_high._4_4_ = 0;\n            signature_low._0_4_ = 0;\n            signature_low._4_4_ = 0;\n          }\n          else {\n            in_stack_fffffee8 = (char *)&signature_high;\n            byte_get_64(puVar16,(elf_vma *)in_stack_fffffee8,&signature_low);\n          }\n          puVar16 = puVar18 + (int)local_f0;\n          pdVar9 = local_f0;\n          if ((puVar16 < end) ||\n             ((local_bc._0_4_ = 0, puVar18 < end &&\n              (pdVar9 = (dwarf_section *)(end + -(int)puVar18),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar18))[-1].user_data + 3U) <\n              (undefined1 *)0x8)))) {\n            eVar27 = (*byte_get)(puVar18,(int)pdVar9);\n            local_bc._0_4_ = (uint)eVar27;\n            in_stack_fffffee8 = (char *)pdVar9;\n          }\n        }\n        uVar15 = dwarf_start_die;\n        local_a0 = (uint)(eVar26 >> 0x20);\n        local_b0 = (dwarf_section *)eVar26;\n        uVar14 = (int)local_d4 + uVar10;\n        if (local_ec._4_4_ + (uint)CARRY4(local_cc,(uint)local_ec) + iVar11 +\n            (uint)CARRY4(local_cc + (uint)local_ec,uVar10) <\n            (uint)(local_cc + (uint)local_ec + uVar10 < dwarf_start_die)) {\n          local_f4 = puVar1 + uVar14 + (uint)local_ec;\n        }\n        else {\n          if (do_loc == 0) {\n            if ((do_debug_loc != 0 || do_debug_ranges != 0) && (num_debug_info_entries == 0)) {\nLAB_00056993:\n              if (do_types == 0) {\n                pdVar24 = debug_information + local_a4;\n                pdVar24->pointer_size = (uint)bVar8;\n                *(int *)((int)&pdVar24->cu_offset + 4) = iVar11;\n                *(uint *)&pdVar24->cu_offset = uVar10;\n                pdVar24->offset_size = (uint)local_f0;\n                pdVar24->dwarf_version = (uint)local_e2;\n                *(undefined4 *)&pdVar24->base_address = 0;\n                *(undefined4 *)((int)&pdVar24->base_address + 4) = 0;\n                *(undefined4 *)&pdVar24->addr_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->addr_base + 4) = 0;\n                *(undefined4 *)&pdVar24->ranges_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->ranges_base + 4) = 0;\n                pdVar24->loc_offsets = (dwarf_vma *)0x0;\n                pdVar24->have_frame_base = (int *)0x0;\n                pdVar24->max_loc_offsets = 0;\n                pdVar24->num_loc_offsets = 0;\n                pdVar24->range_lists = (dwarf_vma *)0x0;\n                pdVar24->max_range_lists = 0;\n                pdVar24->num_range_lists = 0;\n              }\n              if (do_loc != 0) goto LAB_00056a44;\n            }\n            if (uVar15 == 0) {\n              pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n              pcVar13 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar13);\n              pcVar13 = "64-bit";\n              if (local_f0 != (dwarf_section *)0x8) {\n                pcVar13 = "32-bit";\n              }\n              pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar17) << 0x20,(uint)local_ec);\n              pcVar19 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar19,pcVar17,pcVar13);\n              pcVar13 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              uVar22 = (uint)local_e2;\n              printf(pcVar13);\n              pcVar13 = dwarf_vmatoa_1("x",(ulonglong)uVar22 << 0x20,(uint)local_b0);\n              pcVar17 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar17,pcVar13);\n              pcVar13 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              in_stack_fffffee8 = (char *)(uint)bVar8;\n              printf(pcVar13);\n              if (do_types != 0) {\n                pcVar13 = dwarf_vmatoa64(CONCAT44(signature_low._4_4_,(undefined4)signature_low),\n                                         CONCAT44(puVar29,buf),(char *)signature_high,\n                                         signature_high._4_4_);\n                pcVar17 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar17);\n                in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)local_bc);\n                pcVar13 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar13);\n              }\n              if (this_set != (cu_tu_set *)0x0) {\n                pcVar13 = "   Section contributions:\n";\n                pcVar17 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[3]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[3]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[4]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[4]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[5]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[5]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[6]);\n                in_stack_fffffee8 =\n                     dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)this_set->section_offsets[6]);\n                pcVar13 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar13,in_stack_fffffee8,pcVar17);\n              }\n            }\n          }\n          else if (num_debug_info_entries == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar22 = local_ec._4_4_ + (uint)CARRY4((uint)local_ec,uVar14);\n          if ((uVar22 < ((uint)local_ec + uVar14 < uVar14)) ||\n             (uVar2 = *(uint *)((int)&section->size + 4),\n             uVar2 < uVar22 ||\n             uVar2 - uVar22 < (uint)((uint)section->size < (uint)local_ec + uVar14))) {\n            pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,(uint)local_ec);\n            pcVar13 = section->name;\n            pcVar19 = (char *)dcgettext(0,\n                                        "Debug info is corrupted, %s header at %#lx has length %s\n"\n                                        ,5);\n            warn(pcVar19,pcVar13,uVar10,pcVar17);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + (int)local_d4 + (uint)local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              puVar29 = (uchar *)0x572c5;\n              free_abbrevs();\n              if (local_a0 < (local_b0 < local_ac)) {\n                iVar11 = abbrev_sec * 0x40;\n                pcVar13 = *(char **)(&DAT_000b485c + iVar11);\n                pdVar9 = (dwarf_section *)((int)&local_ac->uncompressed_name + local_9c);\n                uVar14 = local_98 + (uint)CARRY4((uint)local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + iVar11) < uVar14 ||\n                    *(uint *)(&DAT_000b4860 + iVar11) - uVar14 <\n                    (uint)(pcVar13 < (char *)((int)&local_ac->uncompressed_name + local_9c))) {\n                  pcVar17 = (char *)dcgettext(0,\n                                              "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                              ,5);\n                  warn(pcVar17,pdVar9,pcVar13);\n                  in_stack_fffffee8 = (char *)pdVar9;\n                }\n                else if (first_abbrev == (abbrev_entry *)0x0) {\n                  puVar29 = (uchar *)0x57341;\n                  process_abbrev_section\n                            ((uchar *)((int)&local_b0->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11) + local_9c),\n                             (uchar *)((int)&pdVar9->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11)));\n                }\n              }\n              else {\n                pcVar13 = (char *)dcgettext(0,\n                                            "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                            ,5);\n                warn(pcVar13,local_b0,local_ac);\n                in_stack_fffffee8 = (char *)local_b0;\n              }\n              if (puVar16 < local_f4) {\n                local_78 = (dwarf_section *)0xffffffff;\n                local_70 = (dwarf_section *)0x0;\n                local_d4 = (dwarf_section *)0x0;\n                do {\n                  pdVar12 = (dwarf_section *)(puVar16 + -(int)puVar1);\n                  pdVar9 = (dwarf_section *)0x0;\n                  in_stack_fffffee8 = buf;\n                  puVar29 = local_f4;\n                  dVar28 = read_leb128(puVar16,(uint *)buf,0,local_f4);\n                  uVar15 = (ulong)dVar28;\n                  puVar16 = puVar16 + buf._0_4_;\n                  if (uVar15 == 0) {\n                    if ((local_d4 == (dwarf_section *)0x0) && (end == local_f4)) {\n                      puVar18 = puVar16;\n                      if (puVar16 < local_f4) {\n                        while (*puVar18 == '\0') {\n                          puVar18 = puVar18 + 1;\n                          if (local_f4 == puVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == puVar16) break;\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         ((0 < dwarf_cutoff_level || (dwarf_cutoff_level == -1)))) {\n                        pdVar9 = (dwarf_section *)0xffffffff;\nLAB_00057496:\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar13,local_d4,pdVar12);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        if (-1 < (int)pdVar9) goto LAB_00057428;\n                      }\n                      else {\n                        pdVar9 = (dwarf_section *)0xffffffff;\n                        local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      }\nLAB_000574d0:\n                      in_stack_fffffee8 = (char *)local_d4;\n                      if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                          lexical_block_12_26_8::num_bogus_warns < 3) {\n                        pcVar13 = section->name;\n                        pcVar17 = (char *)dcgettext(0,\n                                                  "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                                  ,5);\n                        warn(pcVar17,pdVar12,pcVar13);\n                        process_debug_info::lexical_block_12::lexical_block_12_26::\n                        lexical_block_12_26_8::num_bogus_warns =\n                             process_debug_info::lexical_block_12::lexical_block_12_26::\n                             lexical_block_12_26_8::num_bogus_warns + 1;\n                        in_stack_fffffee8 = (char *)pdVar12;\n                        if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                            lexical_block_12_26_8::num_bogus_warns == 3) {\n                          in_stack_fffffee8 =\n                               "Further warnings about bogus end-of-sibling markers suppressed\n";\n                          pcVar13 = (char *)dcgettext(0,\n                                                  "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                                  ,5);\n                          warn(pcVar13);\n                        }\n                      }\n                    }\n                    else {\n                      pdVar9 = (dwarf_section *)((int)&local_d4[-1].user_data + 3);\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         (((int)local_d4 < dwarf_cutoff_level || (dwarf_cutoff_level == -1))))\n                      goto LAB_00057496;\n                      local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      if ((int)pdVar9 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = pdVar9;\n                    if ((dwarf_start_die != 0) && ((int)pdVar9 < (int)local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (do_loc == 0) {\n                      if (dwarf_start_die != 0) {\n                        if (pdVar12 < dwarf_start_die) {\n                          bVar20 = false;\n                          iVar11 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if ((dwarf_section *)dwarf_start_die == pdVar12) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar20 = dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level;\n                      if (dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level) {\n                        in_stack_fffffee8 = " <%d><%lx>: Abbrev Number: %lu";\n                        pdVar9 = (dwarf_section *)0x5;\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar13,local_d4,pdVar12,uVar15);\n                        local_70 = local_d4;\n                        iVar11 = 1;\n                      }\n                      else if ((int)local_70 < dwarf_cutoff_level) {\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        pdVar9 = pdVar12;\n                        printf(pcVar13,local_d4,pdVar12);\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                    }\n                    else {\n                      bVar20 = false;\n                      iVar11 = do_loc;\n                    }\nLAB_0005783c:\n                    if (first_abbrev == (abbrev_entry *)0x0) {\nLAB_00057dbe:\n                      if (bVar20) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      pcVar13 = (char *)dcgettext(0,\n                                                  "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                                  ,5);\n                      warn(pcVar13,pdVar12,uVar15);\n                      return 0;\n                    }\n                    uVar3 = first_abbrev->entry;\n                    paVar4 = first_abbrev;\n                    while (uVar3 != uVar15) {\n                      paVar4 = paVar4->next;\n                      if (paVar4 == (abbrev_entry *)0x0) goto LAB_00057dbe;\n                      uVar3 = paVar4->entry;\n                    }\n                    uVar15 = paVar4->tag;\n                    if (bVar20) {\n                      puVar29 = (uchar *)0x57bcc;\n                      in_stack_fffffee8 = get_TAG_name(uVar15);\n                      printf(" (%s)\n",in_stack_fffffee8,pdVar9);\n                      uVar15 = paVar4->tag;\n                    }\n                    if (uVar15 == 0x11) {\n                      need_base_address = 1;\n                      need_dwo_info = do_loc;\n                    }\n                    else if ((uVar15 == 0x2e) || (uVar15 == 3)) {\n                      need_base_address = 0;\n                      have_frame_base = 0;\n                    }\n                    else {\n                      need_base_address = 0;\n                    }\n                    if (((debug_information == (debug_info *)0x0) ||\n                        (alloc_num_debug_info_entries <= local_a4)) ||\n                       (pdVar24 = debug_information + local_a4, pdVar24 == (debug_info *)0x0)) {\n                      paVar25 = paVar4->first_attr;\n                      if ((paVar25 != (abbrev_attr *)0x0) &&\n                         (pdVar24 = (debug_info *)0x0, paVar25->attribute != 0)) {\nLAB_000578fa:\n                        local_bc = ZEXT48(local_f0);\n                        do {\n                          if (bVar20) {\n                            printf("    <%lx>",(int)puVar16 - (int)puVar1);\n                          }\n                          uVar15 = paVar25->form;\n                          implicit_const = paVar25->implicit_const;\n                          uVar3 = paVar25->attribute;\n                          if (iVar11 == 1 && do_loc == 0) {\n                            puVar29 = (uchar *)0x579ff;\n                            in_stack_fffffee8 = get_AT_name(uVar3);\n                            printf("   %-18s:");\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,\n                                                 ' ');\n                            putchar(10);\n                            paVar25 = paVar25->next;\n                          }\n                          else {\n                            puVar29 = (uchar *)0x20;\n                            in_stack_fffffee8 = (char *)section;\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ');\n                            paVar25 = paVar25->next;\n                          }\n                        } while ((paVar25 != (abbrev_attr *)0x0) && (paVar25->attribute != 0));\n                        if (pdVar24 != (debug_info *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (pdVar24->num_loc_offsets != pdVar24->num_loc_views) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      paVar25 = paVar4->first_attr;\n                      if (paVar25 != (abbrev_attr *)0x0) {\n                        if (paVar25->attribute != 0) goto LAB_000578fa;\nLAB_00057a88:\n                        uVar14 = pdVar24->num_loc_offsets;\n                        uVar22 = pdVar24->num_loc_views;\n                        if (uVar14 - uVar22 == 1) {\n                          pdVar6 = pdVar24->loc_views;\n                          *(undefined4 *)(pdVar6 + uVar22) = 0xffffffff;\n                          *(undefined4 *)((int)pdVar6 + uVar22 * 8 + 4) = 0xffffffff;\n                          pdVar24->num_loc_views = uVar22 + 1;\n                          if (uVar22 + 1 != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (uVar14 != uVar22) {\n                          if (uVar14 - uVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          in_stack_fffffee8 = "DIE has locviews without loclist\n";\n                          pcVar13 = (char *)dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(pcVar13);\n                          pdVar24->num_loc_views = pdVar24->num_loc_views - 1;\n                        }\n                      }\n                    }\n                    local_d4 = (dwarf_section *)\n                               ((int)&local_d4->uncompressed_name + (uint)(paVar4->children != 0));\n                  }\n                } while (puVar16 < local_f4);\n              }\n            }\n            else {\n              in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n              pcVar13 = (char *)dcgettext(0,\n                                          "CU at offset %s contains corrupt or unsupported unit type: %d.\n"\n                                          ,5);\n              warn(pcVar13,in_stack_fffffee8,local_b4);\n            }\n          }\n          else {\n            in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n            pcVar13 = (char *)dcgettext(0,\n                                        "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                                        ,5);\n            warn(pcVar13,in_stack_fffffee8,(uint)local_e2);\n          }\n        }\nLAB_00056ae6:\n        local_a4 = local_a4 + 1;\n      }" { (expression_statement "signature_high._0_4_ = (char *)0x0;" (assignment_expression "signature_high._0_4_ = (char *)0x0" (field_expression "signature_high._0_4_" identifier . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "signature_high._4_4_ = 0;" (assignment_expression "signature_high._4_4_ = 0" (field_expression "signature_high._4_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "signature_low._0_4_ = 0;" (assignment_expression "signature_low._0_4_ = 0" (field_expression "signature_low._0_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "puVar18 = local_f4 + 4;" (assignment_expression "puVar18 = local_f4 + 4" identifier = (binary_expression "local_f4 + 4" identifier + number_literal)) ;) (expression_statement "signature_low._4_4_ = 0;" (assignment_expression "signature_low._4_4_ = 0" (field_expression "signature_low._4_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "puVar16 = puVar18;" (assignment_expression "puVar16 = puVar18" identifier = identifier) ;) (if_statement "if (puVar18 < end) {\n          pdVar9 = (dwarf_section *)0x4;\nLAB_00056d25:\n          local_ec = (*byte_get)(local_f4,(int)pdVar9);\n          if (local_ec == 0xffffffff) {\n            puVar16 = local_f4 + 0xc;\n            if (puVar16 < end) {\n              in_stack_fffffee8 = (char *)0x8;\n            }\n            else if ((end <= puVar18) ||\n                    (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n                    (undefined1 *)0x7 <\n                    (undefined1 *)\n                    ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U))) {\n              local_cc = 0xc;\n              puVar23 = local_f4 + 0xe;\n              local_d4 = (dwarf_section *)0xc;\n              local_f0 = (dwarf_section *)0x8;\n              in_stack_fffffee8 = (char *)pdVar9;\n              goto joined_r0x00056d9b;\n            }\n            puVar23 = local_f4 + 0xe;\n            local_ec = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n            local_cc = 0xc;\n            local_d4 = (dwarf_section *)0xc;\n            local_f0 = (dwarf_section *)0x8;\n          }\n          else {\n            puVar23 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = (dwarf_section *)0x4;\n            local_f0 = (dwarf_section *)0x4;\n            in_stack_fffffee8 = (char *)pdVar9;\n          }\n          if (puVar23 < end) {\n            pdVar9 = (dwarf_section *)0x2;\n          }\n          else if ((end <= puVar16) ||\n                  (pdVar9 = (dwarf_section *)(end + -(int)puVar16),\n                  (undefined1 *)0x7 < (undefined1 *)((int)&pdVar9[-1].user_data + 3U)))\n          goto LAB_00056db1;\nLAB_000566e9:\n          eVar26 = (*byte_get)(puVar16,(int)pdVar9);\n          local_e2 = (ushort)eVar26;\n          in_stack_fffffee8 = (char *)pdVar9;\n        }\n        else {\n          pdVar9 = (dwarf_section *)(end + -(int)local_f4);\n          if ((undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8)\n          goto LAB_00056d25;\n          local_cc = 4;\n          puVar23 = local_f4 + 6;\n          local_d4 = (dwarf_section *)0x4;\n          local_f0 = (dwarf_section *)0x4;\njoined_r0x00056d9b:\n          if (puVar23 < end) {\n            pdVar9 = (dwarf_section *)0x2;\n            local_ec = 0;\n            goto LAB_000566e9;\n          }\n          local_ec = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }" if (parenthesized_expression "(puVar18 < end)" ( (binary_expression "puVar18 < end" identifier < identifier) )) (compound_statement "{\n          pdVar9 = (dwarf_section *)0x4;\nLAB_00056d25:\n          local_ec = (*byte_get)(local_f4,(int)pdVar9);\n          if (local_ec == 0xffffffff) {\n            puVar16 = local_f4 + 0xc;\n            if (puVar16 < end) {\n              in_stack_fffffee8 = (char *)0x8;\n            }\n            else if ((end <= puVar18) ||\n                    (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n                    (undefined1 *)0x7 <\n                    (undefined1 *)\n                    ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U))) {\n              local_cc = 0xc;\n              puVar23 = local_f4 + 0xe;\n              local_d4 = (dwarf_section *)0xc;\n              local_f0 = (dwarf_section *)0x8;\n              in_stack_fffffee8 = (char *)pdVar9;\n              goto joined_r0x00056d9b;\n            }\n            puVar23 = local_f4 + 0xe;\n            local_ec = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n            local_cc = 0xc;\n            local_d4 = (dwarf_section *)0xc;\n            local_f0 = (dwarf_section *)0x8;\n          }\n          else {\n            puVar23 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = (dwarf_section *)0x4;\n            local_f0 = (dwarf_section *)0x4;\n            in_stack_fffffee8 = (char *)pdVar9;\n          }\n          if (puVar23 < end) {\n            pdVar9 = (dwarf_section *)0x2;\n          }\n          else if ((end <= puVar16) ||\n                  (pdVar9 = (dwarf_section *)(end + -(int)puVar16),\n                  (undefined1 *)0x7 < (undefined1 *)((int)&pdVar9[-1].user_data + 3U)))\n          goto LAB_00056db1;\nLAB_000566e9:\n          eVar26 = (*byte_get)(puVar16,(int)pdVar9);\n          local_e2 = (ushort)eVar26;\n          in_stack_fffffee8 = (char *)pdVar9;\n        }" { (expression_statement "pdVar9 = (dwarf_section *)0x4;" (assignment_expression "pdVar9 = (dwarf_section *)0x4" identifier = (cast_expression "(dwarf_section *)0x4" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00056d25:\n          local_ec = (*byte_get)(local_f4,(int)pdVar9);" statement_identifier : (expression_statement "local_ec = (*byte_get)(local_f4,(int)pdVar9);" (assignment_expression "local_ec = (*byte_get)(local_f4,(int)pdVar9)" identifier = (call_expression "(*byte_get)(local_f4,(int)pdVar9)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(local_f4,(int)pdVar9)" ( identifier , (cast_expression "(int)pdVar9" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;)) (if_statement "if (local_ec == 0xffffffff) {\n            puVar16 = local_f4 + 0xc;\n            if (puVar16 < end) {\n              in_stack_fffffee8 = (char *)0x8;\n            }\n            else if ((end <= puVar18) ||\n                    (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n                    (undefined1 *)0x7 <\n                    (undefined1 *)\n                    ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U))) {\n              local_cc = 0xc;\n              puVar23 = local_f4 + 0xe;\n              local_d4 = (dwarf_section *)0xc;\n              local_f0 = (dwarf_section *)0x8;\n              in_stack_fffffee8 = (char *)pdVar9;\n              goto joined_r0x00056d9b;\n            }\n            puVar23 = local_f4 + 0xe;\n            local_ec = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n            local_cc = 0xc;\n            local_d4 = (dwarf_section *)0xc;\n            local_f0 = (dwarf_section *)0x8;\n          }\n          else {\n            puVar23 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = (dwarf_section *)0x4;\n            local_f0 = (dwarf_section *)0x4;\n            in_stack_fffffee8 = (char *)pdVar9;\n          }" if (parenthesized_expression "(local_ec == 0xffffffff)" ( (binary_expression "local_ec == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n            puVar16 = local_f4 + 0xc;\n            if (puVar16 < end) {\n              in_stack_fffffee8 = (char *)0x8;\n            }\n            else if ((end <= puVar18) ||\n                    (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n                    (undefined1 *)0x7 <\n                    (undefined1 *)\n                    ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U))) {\n              local_cc = 0xc;\n              puVar23 = local_f4 + 0xe;\n              local_d4 = (dwarf_section *)0xc;\n              local_f0 = (dwarf_section *)0x8;\n              in_stack_fffffee8 = (char *)pdVar9;\n              goto joined_r0x00056d9b;\n            }\n            puVar23 = local_f4 + 0xe;\n            local_ec = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n            local_cc = 0xc;\n            local_d4 = (dwarf_section *)0xc;\n            local_f0 = (dwarf_section *)0x8;\n          }" { (expression_statement "puVar16 = local_f4 + 0xc;" (assignment_expression "puVar16 = local_f4 + 0xc" identifier = (binary_expression "local_f4 + 0xc" identifier + number_literal)) ;) (if_statement "if (puVar16 < end) {\n              in_stack_fffffee8 = (char *)0x8;\n            }\n            else if ((end <= puVar18) ||\n                    (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n                    (undefined1 *)0x7 <\n                    (undefined1 *)\n                    ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U))) {\n              local_cc = 0xc;\n              puVar23 = local_f4 + 0xe;\n              local_d4 = (dwarf_section *)0xc;\n              local_f0 = (dwarf_section *)0x8;\n              in_stack_fffffee8 = (char *)pdVar9;\n              goto joined_r0x00056d9b;\n            }" if (parenthesized_expression "(puVar16 < end)" ( (binary_expression "puVar16 < end" identifier < identifier) )) (compound_statement "{\n              in_stack_fffffee8 = (char *)0x8;\n            }" { (expression_statement "in_stack_fffffee8 = (char *)0x8;" (assignment_expression "in_stack_fffffee8 = (char *)0x8" identifier = (cast_expression "(char *)0x8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if ((end <= puVar18) ||\n                    (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n                    (undefined1 *)0x7 <\n                    (undefined1 *)\n                    ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U))) {\n              local_cc = 0xc;\n              puVar23 = local_f4 + 0xe;\n              local_d4 = (dwarf_section *)0xc;\n              local_f0 = (dwarf_section *)0x8;\n              in_stack_fffffee8 = (char *)pdVar9;\n              goto joined_r0x00056d9b;\n            }" else (if_statement "if ((end <= puVar18) ||\n                    (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n                    (undefined1 *)0x7 <\n                    (undefined1 *)\n                    ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U))) {\n              local_cc = 0xc;\n              puVar23 = local_f4 + 0xe;\n              local_d4 = (dwarf_section *)0xc;\n              local_f0 = (dwarf_section *)0x8;\n              in_stack_fffffee8 = (char *)pdVar9;\n              goto joined_r0x00056d9b;\n            }" if (parenthesized_expression "((end <= puVar18) ||\n                    (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n                    (undefined1 *)0x7 <\n                    (undefined1 *)\n                    ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U)))" ( (binary_expression "(end <= puVar18) ||\n                    (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n                    (undefined1 *)0x7 <\n                    (undefined1 *)\n                    ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U))" (parenthesized_expression "(end <= puVar18)" ( (binary_expression "end <= puVar18" identifier <= identifier) )) || (parenthesized_expression "(in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n                    (undefined1 *)0x7 <\n                    (undefined1 *)\n                    ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U))" ( (comma_expression "in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n                    (undefined1 *)0x7 <\n                    (undefined1 *)\n                    ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U)" (assignment_expression "in_stack_fffffee8 = (char *)(end + -(int)puVar18)" identifier = (cast_expression "(char *)(end + -(int)puVar18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(end + -(int)puVar18)" ( (binary_expression "end + -(int)puVar18" identifier + (unary_expression "-(int)puVar18" - (cast_expression "(int)puVar18" ( (type_descriptor "int" primitive_type) ) identifier))) )))) , (binary_expression "(undefined1 *)0x7 <\n                    (undefined1 *)\n                    ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U)" (cast_expression "(undefined1 *)0x7" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (cast_expression "(undefined1 *)\n                    ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U)" ( (binary_expression "(int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U" (cast_expression "(int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data" & (field_expression "((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data" (parenthesized_expression "((dwarf_section *)((int)in_stack_fffffee8 + -0x34))" ( (cast_expression "(dwarf_section *)((int)in_stack_fffffee8 + -0x34)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)in_stack_fffffee8 + -0x34)" ( (binary_expression "(int)in_stack_fffffee8 + -0x34" (cast_expression "(int)in_stack_fffffee8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) )) -> field_identifier))) + number_literal) ))))) ))) )) (compound_statement "{\n              local_cc = 0xc;\n              puVar23 = local_f4 + 0xe;\n              local_d4 = (dwarf_section *)0xc;\n              local_f0 = (dwarf_section *)0x8;\n              in_stack_fffffee8 = (char *)pdVar9;\n              goto joined_r0x00056d9b;\n            }" { (expression_statement "local_cc = 0xc;" (assignment_expression "local_cc = 0xc" identifier = number_literal) ;) (expression_statement "puVar23 = local_f4 + 0xe;" (assignment_expression "puVar23 = local_f4 + 0xe" identifier = (binary_expression "local_f4 + 0xe" identifier + number_literal)) ;) (expression_statement "local_d4 = (dwarf_section *)0xc;" (assignment_expression "local_d4 = (dwarf_section *)0xc" identifier = (cast_expression "(dwarf_section *)0xc" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_f0 = (dwarf_section *)0x8;" (assignment_expression "local_f0 = (dwarf_section *)0x8" identifier = (cast_expression "(dwarf_section *)0x8" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_stack_fffffee8 = (char *)pdVar9;" (assignment_expression "in_stack_fffffee8 = (char *)pdVar9" identifier = (cast_expression "(char *)pdVar9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto joined_r0x00056d9b;" goto statement_identifier ;) })))) (expression_statement "puVar23 = local_f4 + 0xe;" (assignment_expression "puVar23 = local_f4 + 0xe" identifier = (binary_expression "local_f4 + 0xe" identifier + number_literal)) ;) (expression_statement "local_ec = (*byte_get)(puVar18,(int)in_stack_fffffee8);" (assignment_expression "local_ec = (*byte_get)(puVar18,(int)in_stack_fffffee8)" identifier = (call_expression "(*byte_get)(puVar18,(int)in_stack_fffffee8)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar18,(int)in_stack_fffffee8)" ( identifier , (cast_expression "(int)in_stack_fffffee8" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (expression_statement "local_cc = 0xc;" (assignment_expression "local_cc = 0xc" identifier = number_literal) ;) (expression_statement "local_d4 = (dwarf_section *)0xc;" (assignment_expression "local_d4 = (dwarf_section *)0xc" identifier = (cast_expression "(dwarf_section *)0xc" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_f0 = (dwarf_section *)0x8;" (assignment_expression "local_f0 = (dwarf_section *)0x8" identifier = (cast_expression "(dwarf_section *)0x8" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n            puVar23 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = (dwarf_section *)0x4;\n            local_f0 = (dwarf_section *)0x4;\n            in_stack_fffffee8 = (char *)pdVar9;\n          }" else (compound_statement "{\n            puVar23 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = (dwarf_section *)0x4;\n            local_f0 = (dwarf_section *)0x4;\n            in_stack_fffffee8 = (char *)pdVar9;\n          }" { (expression_statement "puVar23 = local_f4 + 6;" (assignment_expression "puVar23 = local_f4 + 6" identifier = (binary_expression "local_f4 + 6" identifier + number_literal)) ;) (expression_statement "local_cc = 4;" (assignment_expression "local_cc = 4" identifier = number_literal) ;) (expression_statement "local_d4 = (dwarf_section *)0x4;" (assignment_expression "local_d4 = (dwarf_section *)0x4" identifier = (cast_expression "(dwarf_section *)0x4" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_f0 = (dwarf_section *)0x4;" (assignment_expression "local_f0 = (dwarf_section *)0x4" identifier = (cast_expression "(dwarf_section *)0x4" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_stack_fffffee8 = (char *)pdVar9;" (assignment_expression "in_stack_fffffee8 = (char *)pdVar9" identifier = (cast_expression "(char *)pdVar9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (if_statement "if (puVar23 < end) {\n            pdVar9 = (dwarf_section *)0x2;\n          }\n          else if ((end <= puVar16) ||\n                  (pdVar9 = (dwarf_section *)(end + -(int)puVar16),\n                  (undefined1 *)0x7 < (undefined1 *)((int)&pdVar9[-1].user_data + 3U)))\n          goto LAB_00056db1;" if (parenthesized_expression "(puVar23 < end)" ( (binary_expression "puVar23 < end" identifier < identifier) )) (compound_statement "{\n            pdVar9 = (dwarf_section *)0x2;\n          }" { (expression_statement "pdVar9 = (dwarf_section *)0x2;" (assignment_expression "pdVar9 = (dwarf_section *)0x2" identifier = (cast_expression "(dwarf_section *)0x2" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if ((end <= puVar16) ||\n                  (pdVar9 = (dwarf_section *)(end + -(int)puVar16),\n                  (undefined1 *)0x7 < (undefined1 *)((int)&pdVar9[-1].user_data + 3U)))\n          goto LAB_00056db1;" else (if_statement "if ((end <= puVar16) ||\n                  (pdVar9 = (dwarf_section *)(end + -(int)puVar16),\n                  (undefined1 *)0x7 < (undefined1 *)((int)&pdVar9[-1].user_data + 3U)))\n          goto LAB_00056db1;" if (parenthesized_expression "((end <= puVar16) ||\n                  (pdVar9 = (dwarf_section *)(end + -(int)puVar16),\n                  (undefined1 *)0x7 < (undefined1 *)((int)&pdVar9[-1].user_data + 3U)))" ( (binary_expression "(end <= puVar16) ||\n                  (pdVar9 = (dwarf_section *)(end + -(int)puVar16),\n                  (undefined1 *)0x7 < (undefined1 *)((int)&pdVar9[-1].user_data + 3U))" (parenthesized_expression "(end <= puVar16)" ( (binary_expression "end <= puVar16" identifier <= identifier) )) || (parenthesized_expression "(pdVar9 = (dwarf_section *)(end + -(int)puVar16),\n                  (undefined1 *)0x7 < (undefined1 *)((int)&pdVar9[-1].user_data + 3U))" ( (comma_expression "pdVar9 = (dwarf_section *)(end + -(int)puVar16),\n                  (undefined1 *)0x7 < (undefined1 *)((int)&pdVar9[-1].user_data + 3U)" (assignment_expression "pdVar9 = (dwarf_section *)(end + -(int)puVar16)" identifier = (cast_expression "(dwarf_section *)(end + -(int)puVar16)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(end + -(int)puVar16)" ( (binary_expression "end + -(int)puVar16" identifier + (unary_expression "-(int)puVar16" - (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier))) )))) , (binary_expression "(undefined1 *)0x7 < (undefined1 *)((int)&pdVar9[-1].user_data + 3U)" (cast_expression "(undefined1 *)0x7" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (cast_expression "(undefined1 *)((int)&pdVar9[-1].user_data + 3U)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pdVar9[-1].user_data + 3U)" ( (binary_expression "(int)&pdVar9[-1].user_data + 3U" (cast_expression "(int)&pdVar9[-1].user_data" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pdVar9[-1].user_data" & (field_expression "pdVar9[-1].user_data" (subscript_expression "pdVar9[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))))) ))) )) (goto_statement "goto LAB_00056db1;" goto statement_identifier ;)))) (labeled_statement "LAB_000566e9:\n          eVar26 = (*byte_get)(puVar16,(int)pdVar9);" statement_identifier : (expression_statement "eVar26 = (*byte_get)(puVar16,(int)pdVar9);" (assignment_expression "eVar26 = (*byte_get)(puVar16,(int)pdVar9)" identifier = (call_expression "(*byte_get)(puVar16,(int)pdVar9)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar16,(int)pdVar9)" ( identifier , (cast_expression "(int)pdVar9" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;)) (expression_statement "local_e2 = (ushort)eVar26;" (assignment_expression "local_e2 = (ushort)eVar26" identifier = (cast_expression "(ushort)eVar26" ( (type_descriptor "ushort" type_identifier) ) identifier)) ;) (expression_statement "in_stack_fffffee8 = (char *)pdVar9;" (assignment_expression "in_stack_fffffee8 = (char *)pdVar9" identifier = (cast_expression "(char *)pdVar9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n          pdVar9 = (dwarf_section *)(end + -(int)local_f4);\n          if ((undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8)\n          goto LAB_00056d25;\n          local_cc = 4;\n          puVar23 = local_f4 + 6;\n          local_d4 = (dwarf_section *)0x4;\n          local_f0 = (dwarf_section *)0x4;\njoined_r0x00056d9b:\n          if (puVar23 < end) {\n            pdVar9 = (dwarf_section *)0x2;\n            local_ec = 0;\n            goto LAB_000566e9;\n          }\n          local_ec = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }" else (compound_statement "{\n          pdVar9 = (dwarf_section *)(end + -(int)local_f4);\n          if ((undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8)\n          goto LAB_00056d25;\n          local_cc = 4;\n          puVar23 = local_f4 + 6;\n          local_d4 = (dwarf_section *)0x4;\n          local_f0 = (dwarf_section *)0x4;\njoined_r0x00056d9b:\n          if (puVar23 < end) {\n            pdVar9 = (dwarf_section *)0x2;\n            local_ec = 0;\n            goto LAB_000566e9;\n          }\n          local_ec = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }" { (expression_statement "pdVar9 = (dwarf_section *)(end + -(int)local_f4);" (assignment_expression "pdVar9 = (dwarf_section *)(end + -(int)local_f4)" identifier = (cast_expression "(dwarf_section *)(end + -(int)local_f4)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(end + -(int)local_f4)" ( (binary_expression "end + -(int)local_f4" identifier + (unary_expression "-(int)local_f4" - (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier))) )))) ;) (if_statement "if ((undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8)\n          goto LAB_00056d25;" if (parenthesized_expression "((undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8)" ( (binary_expression "(undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8" (cast_expression "(undefined1 *)((int)&pdVar9[-1].user_data + 3U)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pdVar9[-1].user_data + 3U)" ( (binary_expression "(int)&pdVar9[-1].user_data + 3U" (cast_expression "(int)&pdVar9[-1].user_data" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pdVar9[-1].user_data" & (field_expression "pdVar9[-1].user_data" (subscript_expression "pdVar9[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))) < (cast_expression "(undefined1 *)0x8" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00056d25;" goto statement_identifier ;)) (expression_statement "local_cc = 4;" (assignment_expression "local_cc = 4" identifier = number_literal) ;) (expression_statement "puVar23 = local_f4 + 6;" (assignment_expression "puVar23 = local_f4 + 6" identifier = (binary_expression "local_f4 + 6" identifier + number_literal)) ;) (expression_statement "local_d4 = (dwarf_section *)0x4;" (assignment_expression "local_d4 = (dwarf_section *)0x4" identifier = (cast_expression "(dwarf_section *)0x4" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_f0 = (dwarf_section *)0x4;" (assignment_expression "local_f0 = (dwarf_section *)0x4" identifier = (cast_expression "(dwarf_section *)0x4" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "joined_r0x00056d9b:\n          if (puVar23 < end) {\n            pdVar9 = (dwarf_section *)0x2;\n            local_ec = 0;\n            goto LAB_000566e9;\n          }" statement_identifier : (if_statement "if (puVar23 < end) {\n            pdVar9 = (dwarf_section *)0x2;\n            local_ec = 0;\n            goto LAB_000566e9;\n          }" if (parenthesized_expression "(puVar23 < end)" ( (binary_expression "puVar23 < end" identifier < identifier) )) (compound_statement "{\n            pdVar9 = (dwarf_section *)0x2;\n            local_ec = 0;\n            goto LAB_000566e9;\n          }" { (expression_statement "pdVar9 = (dwarf_section *)0x2;" (assignment_expression "pdVar9 = (dwarf_section *)0x2" identifier = (cast_expression "(dwarf_section *)0x2" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_ec = 0;" (assignment_expression "local_ec = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000566e9;" goto statement_identifier ;) }))) (expression_statement "local_ec = 0;" (assignment_expression "local_ec = 0" identifier = number_literal) ;) (labeled_statement "LAB_00056db1:\n          local_e2 = 0;" statement_identifier : (expression_statement "local_e2 = 0;" (assignment_expression "local_e2 = 0" identifier = number_literal) ;)) }))) (expression_statement "uVar10 = (int)local_f4 - (int)puVar1;" (assignment_expression "uVar10 = (int)local_f4 - (int)puVar1" identifier = (binary_expression "(int)local_f4 - (int)puVar1" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "iVar11 = (int)uVar10 >> 0x1f;" (assignment_expression "iVar11 = (int)uVar10 >> 0x1f" identifier = (binary_expression "(int)uVar10 >> 0x1f" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (if_statement "if (do_types == 0) {\n          iVar21 = 1;\n          iVar7 = cu_count;\n          this_set = cu_sets;\n        }\n        else {\n          iVar21 = 2;\n          iVar7 = tu_count;\n          this_set = tu_sets;\n        }" if (parenthesized_expression "(do_types == 0)" ( (binary_expression "do_types == 0" identifier == number_literal) )) (compound_statement "{\n          iVar21 = 1;\n          iVar7 = cu_count;\n          this_set = cu_sets;\n        }" { (expression_statement "iVar21 = 1;" (assignment_expression "iVar21 = 1" identifier = number_literal) ;) (expression_statement "iVar7 = cu_count;" (assignment_expression "iVar7 = cu_count" identifier = identifier) ;) (expression_statement "this_set = cu_sets;" (assignment_expression "this_set = cu_sets" identifier = identifier) ;) }) (else_clause "else {\n          iVar21 = 2;\n          iVar7 = tu_count;\n          this_set = tu_sets;\n        }" else (compound_statement "{\n          iVar21 = 2;\n          iVar7 = tu_count;\n          this_set = tu_sets;\n        }" { (expression_statement "iVar21 = 2;" (assignment_expression "iVar21 = 2" identifier = number_literal) ;) (expression_statement "iVar7 = tu_count;" (assignment_expression "iVar7 = tu_count" identifier = identifier) ;) (expression_statement "this_set = tu_sets;" (assignment_expression "this_set = tu_sets" identifier = identifier) ;) }))) (for_statement "for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (iVar11 == *(int *)((int)this_set->section_offsets + iVar21 * 8 + 4) &&\n              uVar10 == (uint)this_set->section_offsets[iVar21]) goto joined_r0x0005676e;\n          this_set = this_set + 1;\n        }" for ( ; (binary_expression "iVar7 != 0" identifier != number_literal) ; (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ) (compound_statement "{\n          if (iVar11 == *(int *)((int)this_set->section_offsets + iVar21 * 8 + 4) &&\n              uVar10 == (uint)this_set->section_offsets[iVar21]) goto joined_r0x0005676e;\n          this_set = this_set + 1;\n        }" { (if_statement "if (iVar11 == *(int *)((int)this_set->section_offsets + iVar21 * 8 + 4) &&\n              uVar10 == (uint)this_set->section_offsets[iVar21]) goto joined_r0x0005676e;" if (parenthesized_expression "(iVar11 == *(int *)((int)this_set->section_offsets + iVar21 * 8 + 4) &&\n              uVar10 == (uint)this_set->section_offsets[iVar21])" ( (binary_expression "iVar11 == *(int *)((int)this_set->section_offsets + iVar21 * 8 + 4) &&\n              uVar10 == (uint)this_set->section_offsets[iVar21]" (binary_expression "iVar11 == *(int *)((int)this_set->section_offsets + iVar21 * 8 + 4)" identifier == (pointer_expression "*(int *)((int)this_set->section_offsets + iVar21 * 8 + 4)" * (cast_expression "(int *)((int)this_set->section_offsets + iVar21 * 8 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)this_set->section_offsets + iVar21 * 8 + 4)" ( (binary_expression "(int)this_set->section_offsets + iVar21 * 8 + 4" (binary_expression "(int)this_set->section_offsets + iVar21 * 8" (cast_expression "(int)this_set->section_offsets" ( (type_descriptor "int" primitive_type) ) (field_expression "this_set->section_offsets" identifier -> field_identifier)) + (binary_expression "iVar21 * 8" identifier * number_literal)) + number_literal) ))))) && (binary_expression "uVar10 == (uint)this_set->section_offsets[iVar21]" identifier == (cast_expression "(uint)this_set->section_offsets[iVar21]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "this_set->section_offsets[iVar21]" (field_expression "this_set->section_offsets" identifier -> field_identifier) [ identifier ])))) )) (goto_statement "goto joined_r0x0005676e;" goto statement_identifier ;)) (expression_statement "this_set = this_set + 1;" (assignment_expression "this_set = this_set + 1" identifier = (binary_expression "this_set + 1" identifier + number_literal)) ;) })) (expression_statement "this_set = (cu_tu_set *)0x0;" (assignment_expression "this_set = (cu_tu_set *)0x0" identifier = (cast_expression "(cu_tu_set *)0x0" ( (type_descriptor "cu_tu_set *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "joined_r0x0005676e:\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar8 = 0xff;\n          pdVar9 = (dwarf_section *)in_stack_fffffee8;\njoined_r0x000567df:\n          puVar18 = puVar23 + (int)local_f0;\n          in_stack_fffffee8 = (char *)local_f0;\n          if ((puVar18 < end) ||\n             ((puVar23 < end &&\n              (in_stack_fffffee8 = (char *)(end + -(int)puVar23),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar23))[-1].user_data + 3U) <\n              (undefined1 *)0x8)))) goto LAB_00056caa;\nLAB_000567f7:\n          eVar26 = 0;\n          in_stack_fffffee8 = (char *)pdVar9;\n          eVar27 = 0;\n          if (this_set != (cu_tu_set *)0x0) goto LAB_0005680f;\nLAB_00056cce:\n          eVar26 = eVar27;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(dwarf_section **)(&DAT_000b485c + abbrev_sec * 0x40);\n        }\n        else {\n          puVar18 = puVar16 + 3;\n          if (puVar18 < end) {\n            pdVar9 = (dwarf_section *)0x1;\nLAB_00057245:\n            eVar26 = (*byte_get)(puVar23,(int)pdVar9);\n            local_b4 = (int)eVar26;\n            do_types = (bfd_boolean)(local_b4 == 2);\n            pdVar12 = (dwarf_section *)0x1;\n            if ((puVar16 + 4 < end) ||\n               ((puVar18 < end &&\n                (pdVar12 = (dwarf_section *)(end + -(int)puVar18),\n                (undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)))) {\nLAB_000567c4:\n              puVar23 = puVar16 + 4;\n              eVar26 = (*byte_get)(puVar18,(int)pdVar12);\n              bVar8 = (byte)eVar26;\n              pdVar9 = pdVar12;\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((puVar23 < end) &&\n               (pdVar9 = (dwarf_section *)(end + -(int)puVar23),\n               (undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8))\n            goto LAB_00057245;\n            do_types = 0;\n            local_b4 = 0;\n            pdVar9 = (dwarf_section *)in_stack_fffffee8;\n            if (puVar16 + 4 < end) {\n              pdVar12 = (dwarf_section *)0x1;\n              goto LAB_000567c4;\n            }\n          }\n          puVar23 = puVar16 + 4;\n          bVar8 = 0;\n          puVar18 = puVar23 + (int)local_f0;\n          in_stack_fffffee8 = (char *)local_f0;\n          if (end <= puVar18) goto LAB_000567f7;\nLAB_00056caa:\n          eVar26 = (*byte_get)(puVar23,(int)in_stack_fffffee8);\n          eVar27 = eVar26;\n          if (this_set == (cu_tu_set *)0x0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = (uint)this_set->section_offsets[3];\n          local_98 = *(int *)((int)this_set->section_offsets + 0x1c);\n          local_ac = (dwarf_section *)this_set->section_sizes[3];\n        }" statement_identifier : (if_statement "if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar8 = 0xff;\n          pdVar9 = (dwarf_section *)in_stack_fffffee8;\njoined_r0x000567df:\n          puVar18 = puVar23 + (int)local_f0;\n          in_stack_fffffee8 = (char *)local_f0;\n          if ((puVar18 < end) ||\n             ((puVar23 < end &&\n              (in_stack_fffffee8 = (char *)(end + -(int)puVar23),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar23))[-1].user_data + 3U) <\n              (undefined1 *)0x8)))) goto LAB_00056caa;\nLAB_000567f7:\n          eVar26 = 0;\n          in_stack_fffffee8 = (char *)pdVar9;\n          eVar27 = 0;\n          if (this_set != (cu_tu_set *)0x0) goto LAB_0005680f;\nLAB_00056cce:\n          eVar26 = eVar27;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(dwarf_section **)(&DAT_000b485c + abbrev_sec * 0x40);\n        }\n        else {\n          puVar18 = puVar16 + 3;\n          if (puVar18 < end) {\n            pdVar9 = (dwarf_section *)0x1;\nLAB_00057245:\n            eVar26 = (*byte_get)(puVar23,(int)pdVar9);\n            local_b4 = (int)eVar26;\n            do_types = (bfd_boolean)(local_b4 == 2);\n            pdVar12 = (dwarf_section *)0x1;\n            if ((puVar16 + 4 < end) ||\n               ((puVar18 < end &&\n                (pdVar12 = (dwarf_section *)(end + -(int)puVar18),\n                (undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)))) {\nLAB_000567c4:\n              puVar23 = puVar16 + 4;\n              eVar26 = (*byte_get)(puVar18,(int)pdVar12);\n              bVar8 = (byte)eVar26;\n              pdVar9 = pdVar12;\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((puVar23 < end) &&\n               (pdVar9 = (dwarf_section *)(end + -(int)puVar23),\n               (undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8))\n            goto LAB_00057245;\n            do_types = 0;\n            local_b4 = 0;\n            pdVar9 = (dwarf_section *)in_stack_fffffee8;\n            if (puVar16 + 4 < end) {\n              pdVar12 = (dwarf_section *)0x1;\n              goto LAB_000567c4;\n            }\n          }\n          puVar23 = puVar16 + 4;\n          bVar8 = 0;\n          puVar18 = puVar23 + (int)local_f0;\n          in_stack_fffffee8 = (char *)local_f0;\n          if (end <= puVar18) goto LAB_000567f7;\nLAB_00056caa:\n          eVar26 = (*byte_get)(puVar23,(int)in_stack_fffffee8);\n          eVar27 = eVar26;\n          if (this_set == (cu_tu_set *)0x0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = (uint)this_set->section_offsets[3];\n          local_98 = *(int *)((int)this_set->section_offsets + 0x1c);\n          local_ac = (dwarf_section *)this_set->section_sizes[3];\n        }" if (parenthesized_expression "(local_e2 < 5)" ( (binary_expression "local_e2 < 5" identifier < number_literal) )) (compound_statement "{\n          local_b4 = 1;\n          bVar8 = 0xff;\n          pdVar9 = (dwarf_section *)in_stack_fffffee8;\njoined_r0x000567df:\n          puVar18 = puVar23 + (int)local_f0;\n          in_stack_fffffee8 = (char *)local_f0;\n          if ((puVar18 < end) ||\n             ((puVar23 < end &&\n              (in_stack_fffffee8 = (char *)(end + -(int)puVar23),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar23))[-1].user_data + 3U) <\n              (undefined1 *)0x8)))) goto LAB_00056caa;\nLAB_000567f7:\n          eVar26 = 0;\n          in_stack_fffffee8 = (char *)pdVar9;\n          eVar27 = 0;\n          if (this_set != (cu_tu_set *)0x0) goto LAB_0005680f;\nLAB_00056cce:\n          eVar26 = eVar27;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(dwarf_section **)(&DAT_000b485c + abbrev_sec * 0x40);\n        }" { (expression_statement "local_b4 = 1;" (assignment_expression "local_b4 = 1" identifier = number_literal) ;) (expression_statement "bVar8 = 0xff;" (assignment_expression "bVar8 = 0xff" identifier = number_literal) ;) (expression_statement "pdVar9 = (dwarf_section *)in_stack_fffffee8;" (assignment_expression "pdVar9 = (dwarf_section *)in_stack_fffffee8" identifier = (cast_expression "(dwarf_section *)in_stack_fffffee8" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (labeled_statement "joined_r0x000567df:\n          puVar18 = puVar23 + (int)local_f0;" statement_identifier : (expression_statement "puVar18 = puVar23 + (int)local_f0;" (assignment_expression "puVar18 = puVar23 + (int)local_f0" identifier = (binary_expression "puVar23 + (int)local_f0" identifier + (cast_expression "(int)local_f0" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) (expression_statement "in_stack_fffffee8 = (char *)local_f0;" (assignment_expression "in_stack_fffffee8 = (char *)local_f0" identifier = (cast_expression "(char *)local_f0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((puVar18 < end) ||\n             ((puVar23 < end &&\n              (in_stack_fffffee8 = (char *)(end + -(int)puVar23),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar23))[-1].user_data + 3U) <\n              (undefined1 *)0x8)))) goto LAB_00056caa;" if (parenthesized_expression "((puVar18 < end) ||\n             ((puVar23 < end &&\n              (in_stack_fffffee8 = (char *)(end + -(int)puVar23),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar23))[-1].user_data + 3U) <\n              (undefined1 *)0x8))))" ( (binary_expression "(puVar18 < end) ||\n             ((puVar23 < end &&\n              (in_stack_fffffee8 = (char *)(end + -(int)puVar23),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar23))[-1].user_data + 3U) <\n              (undefined1 *)0x8)))" (parenthesized_expression "(puVar18 < end)" ( (binary_expression "puVar18 < end" identifier < identifier) )) || (parenthesized_expression "((puVar23 < end &&\n              (in_stack_fffffee8 = (char *)(end + -(int)puVar23),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar23))[-1].user_data + 3U) <\n              (undefined1 *)0x8)))" ( (parenthesized_expression "(puVar23 < end &&\n              (in_stack_fffffee8 = (char *)(end + -(int)puVar23),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar23))[-1].user_data + 3U) <\n              (undefined1 *)0x8))" ( (binary_expression "puVar23 < end &&\n              (in_stack_fffffee8 = (char *)(end + -(int)puVar23),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar23))[-1].user_data + 3U) <\n              (undefined1 *)0x8)" (binary_expression "puVar23 < end" identifier < identifier) && (parenthesized_expression "(in_stack_fffffee8 = (char *)(end + -(int)puVar23),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar23))[-1].user_data + 3U) <\n              (undefined1 *)0x8)" ( (comma_expression "in_stack_fffffee8 = (char *)(end + -(int)puVar23),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar23))[-1].user_data + 3U) <\n              (undefined1 *)0x8" (assignment_expression "in_stack_fffffee8 = (char *)(end + -(int)puVar23)" identifier = (cast_expression "(char *)(end + -(int)puVar23)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(end + -(int)puVar23)" ( (binary_expression "end + -(int)puVar23" identifier + (unary_expression "-(int)puVar23" - (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier))) )))) , (binary_expression "(undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar23))[-1].user_data + 3U) <\n              (undefined1 *)0x8" (cast_expression "(undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar23))[-1].user_data + 3U)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((dwarf_section *)(end + -(int)puVar23))[-1].user_data + 3U)" ( (binary_expression "(int)&((dwarf_section *)(end + -(int)puVar23))[-1].user_data + 3U" (cast_expression "(int)&((dwarf_section *)(end + -(int)puVar23))[-1].user_data" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((dwarf_section *)(end + -(int)puVar23))[-1].user_data" & (field_expression "((dwarf_section *)(end + -(int)puVar23))[-1].user_data" (subscript_expression "((dwarf_section *)(end + -(int)puVar23))[-1]" (parenthesized_expression "((dwarf_section *)(end + -(int)puVar23))" ( (cast_expression "(dwarf_section *)(end + -(int)puVar23)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(end + -(int)puVar23)" ( (binary_expression "end + -(int)puVar23" identifier + (unary_expression "-(int)puVar23" - (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) [ number_literal ]) . field_identifier))) + number_literal) ))) < (cast_expression "(undefined1 *)0x8" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) ))) )) (goto_statement "goto LAB_00056caa;" goto statement_identifier ;)) (labeled_statement "LAB_000567f7:\n          eVar26 = 0;" statement_identifier : (expression_statement "eVar26 = 0;" (assignment_expression "eVar26 = 0" identifier = number_literal) ;)) (expression_statement "in_stack_fffffee8 = (char *)pdVar9;" (assignment_expression "in_stack_fffffee8 = (char *)pdVar9" identifier = (cast_expression "(char *)pdVar9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "eVar27 = 0;" (assignment_expression "eVar27 = 0" identifier = number_literal) ;) (if_statement "if (this_set != (cu_tu_set *)0x0) goto LAB_0005680f;" if (parenthesized_expression "(this_set != (cu_tu_set *)0x0)" ( (binary_expression "this_set != (cu_tu_set *)0x0" identifier != (cast_expression "(cu_tu_set *)0x0" ( (type_descriptor "cu_tu_set *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0005680f;" goto statement_identifier ;)) (labeled_statement "LAB_00056cce:\n          eVar26 = eVar27;" statement_identifier : (expression_statement "eVar26 = eVar27;" (assignment_expression "eVar26 = eVar27" identifier = identifier) ;)) (expression_statement "local_9c = 0;" (assignment_expression "local_9c = 0" identifier = number_literal) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "local_ac = *(dwarf_section **)(&DAT_000b485c + abbrev_sec * 0x40);" (assignment_expression "local_ac = *(dwarf_section **)(&DAT_000b485c + abbrev_sec * 0x40)" identifier = (pointer_expression "*(dwarf_section **)(&DAT_000b485c + abbrev_sec * 0x40)" * (cast_expression "(dwarf_section **)(&DAT_000b485c + abbrev_sec * 0x40)" ( (type_descriptor "dwarf_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&DAT_000b485c + abbrev_sec * 0x40)" ( (binary_expression "&DAT_000b485c + abbrev_sec * 0x40" (pointer_expression "&DAT_000b485c" & identifier) + (binary_expression "abbrev_sec * 0x40" identifier * number_literal)) ))))) ;) }) (else_clause "else {\n          puVar18 = puVar16 + 3;\n          if (puVar18 < end) {\n            pdVar9 = (dwarf_section *)0x1;\nLAB_00057245:\n            eVar26 = (*byte_get)(puVar23,(int)pdVar9);\n            local_b4 = (int)eVar26;\n            do_types = (bfd_boolean)(local_b4 == 2);\n            pdVar12 = (dwarf_section *)0x1;\n            if ((puVar16 + 4 < end) ||\n               ((puVar18 < end &&\n                (pdVar12 = (dwarf_section *)(end + -(int)puVar18),\n                (undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)))) {\nLAB_000567c4:\n              puVar23 = puVar16 + 4;\n              eVar26 = (*byte_get)(puVar18,(int)pdVar12);\n              bVar8 = (byte)eVar26;\n              pdVar9 = pdVar12;\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((puVar23 < end) &&\n               (pdVar9 = (dwarf_section *)(end + -(int)puVar23),\n               (undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8))\n            goto LAB_00057245;\n            do_types = 0;\n            local_b4 = 0;\n            pdVar9 = (dwarf_section *)in_stack_fffffee8;\n            if (puVar16 + 4 < end) {\n              pdVar12 = (dwarf_section *)0x1;\n              goto LAB_000567c4;\n            }\n          }\n          puVar23 = puVar16 + 4;\n          bVar8 = 0;\n          puVar18 = puVar23 + (int)local_f0;\n          in_stack_fffffee8 = (char *)local_f0;\n          if (end <= puVar18) goto LAB_000567f7;\nLAB_00056caa:\n          eVar26 = (*byte_get)(puVar23,(int)in_stack_fffffee8);\n          eVar27 = eVar26;\n          if (this_set == (cu_tu_set *)0x0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = (uint)this_set->section_offsets[3];\n          local_98 = *(int *)((int)this_set->section_offsets + 0x1c);\n          local_ac = (dwarf_section *)this_set->section_sizes[3];\n        }" else (compound_statement "{\n          puVar18 = puVar16 + 3;\n          if (puVar18 < end) {\n            pdVar9 = (dwarf_section *)0x1;\nLAB_00057245:\n            eVar26 = (*byte_get)(puVar23,(int)pdVar9);\n            local_b4 = (int)eVar26;\n            do_types = (bfd_boolean)(local_b4 == 2);\n            pdVar12 = (dwarf_section *)0x1;\n            if ((puVar16 + 4 < end) ||\n               ((puVar18 < end &&\n                (pdVar12 = (dwarf_section *)(end + -(int)puVar18),\n                (undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)))) {\nLAB_000567c4:\n              puVar23 = puVar16 + 4;\n              eVar26 = (*byte_get)(puVar18,(int)pdVar12);\n              bVar8 = (byte)eVar26;\n              pdVar9 = pdVar12;\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((puVar23 < end) &&\n               (pdVar9 = (dwarf_section *)(end + -(int)puVar23),\n               (undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8))\n            goto LAB_00057245;\n            do_types = 0;\n            local_b4 = 0;\n            pdVar9 = (dwarf_section *)in_stack_fffffee8;\n            if (puVar16 + 4 < end) {\n              pdVar12 = (dwarf_section *)0x1;\n              goto LAB_000567c4;\n            }\n          }\n          puVar23 = puVar16 + 4;\n          bVar8 = 0;\n          puVar18 = puVar23 + (int)local_f0;\n          in_stack_fffffee8 = (char *)local_f0;\n          if (end <= puVar18) goto LAB_000567f7;\nLAB_00056caa:\n          eVar26 = (*byte_get)(puVar23,(int)in_stack_fffffee8);\n          eVar27 = eVar26;\n          if (this_set == (cu_tu_set *)0x0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = (uint)this_set->section_offsets[3];\n          local_98 = *(int *)((int)this_set->section_offsets + 0x1c);\n          local_ac = (dwarf_section *)this_set->section_sizes[3];\n        }" { (expression_statement "puVar18 = puVar16 + 3;" (assignment_expression "puVar18 = puVar16 + 3" identifier = (binary_expression "puVar16 + 3" identifier + number_literal)) ;) (if_statement "if (puVar18 < end) {\n            pdVar9 = (dwarf_section *)0x1;\nLAB_00057245:\n            eVar26 = (*byte_get)(puVar23,(int)pdVar9);\n            local_b4 = (int)eVar26;\n            do_types = (bfd_boolean)(local_b4 == 2);\n            pdVar12 = (dwarf_section *)0x1;\n            if ((puVar16 + 4 < end) ||\n               ((puVar18 < end &&\n                (pdVar12 = (dwarf_section *)(end + -(int)puVar18),\n                (undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)))) {\nLAB_000567c4:\n              puVar23 = puVar16 + 4;\n              eVar26 = (*byte_get)(puVar18,(int)pdVar12);\n              bVar8 = (byte)eVar26;\n              pdVar9 = pdVar12;\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((puVar23 < end) &&\n               (pdVar9 = (dwarf_section *)(end + -(int)puVar23),\n               (undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8))\n            goto LAB_00057245;\n            do_types = 0;\n            local_b4 = 0;\n            pdVar9 = (dwarf_section *)in_stack_fffffee8;\n            if (puVar16 + 4 < end) {\n              pdVar12 = (dwarf_section *)0x1;\n              goto LAB_000567c4;\n            }\n          }" if (parenthesized_expression "(puVar18 < end)" ( (binary_expression "puVar18 < end" identifier < identifier) )) (compound_statement "{\n            pdVar9 = (dwarf_section *)0x1;\nLAB_00057245:\n            eVar26 = (*byte_get)(puVar23,(int)pdVar9);\n            local_b4 = (int)eVar26;\n            do_types = (bfd_boolean)(local_b4 == 2);\n            pdVar12 = (dwarf_section *)0x1;\n            if ((puVar16 + 4 < end) ||\n               ((puVar18 < end &&\n                (pdVar12 = (dwarf_section *)(end + -(int)puVar18),\n                (undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)))) {\nLAB_000567c4:\n              puVar23 = puVar16 + 4;\n              eVar26 = (*byte_get)(puVar18,(int)pdVar12);\n              bVar8 = (byte)eVar26;\n              pdVar9 = pdVar12;\n              goto joined_r0x000567df;\n            }\n          }" { (expression_statement "pdVar9 = (dwarf_section *)0x1;" (assignment_expression "pdVar9 = (dwarf_section *)0x1" identifier = (cast_expression "(dwarf_section *)0x1" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00057245:\n            eVar26 = (*byte_get)(puVar23,(int)pdVar9);" statement_identifier : (expression_statement "eVar26 = (*byte_get)(puVar23,(int)pdVar9);" (assignment_expression "eVar26 = (*byte_get)(puVar23,(int)pdVar9)" identifier = (call_expression "(*byte_get)(puVar23,(int)pdVar9)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar23,(int)pdVar9)" ( identifier , (cast_expression "(int)pdVar9" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;)) (expression_statement "local_b4 = (int)eVar26;" (assignment_expression "local_b4 = (int)eVar26" identifier = (cast_expression "(int)eVar26" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "do_types = (bfd_boolean)(local_b4 == 2);" (assignment_expression "do_types = (bfd_boolean)(local_b4 == 2)" identifier = (call_expression "(bfd_boolean)(local_b4 == 2)" (parenthesized_expression "(bfd_boolean)" ( identifier )) (argument_list "(local_b4 == 2)" ( (binary_expression "local_b4 == 2" identifier == number_literal) )))) ;) (expression_statement "pdVar12 = (dwarf_section *)0x1;" (assignment_expression "pdVar12 = (dwarf_section *)0x1" identifier = (cast_expression "(dwarf_section *)0x1" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((puVar16 + 4 < end) ||\n               ((puVar18 < end &&\n                (pdVar12 = (dwarf_section *)(end + -(int)puVar18),\n                (undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)))) {\nLAB_000567c4:\n              puVar23 = puVar16 + 4;\n              eVar26 = (*byte_get)(puVar18,(int)pdVar12);\n              bVar8 = (byte)eVar26;\n              pdVar9 = pdVar12;\n              goto joined_r0x000567df;\n            }" if (parenthesized_expression "((puVar16 + 4 < end) ||\n               ((puVar18 < end &&\n                (pdVar12 = (dwarf_section *)(end + -(int)puVar18),\n                (undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8))))" ( (binary_expression "(puVar16 + 4 < end) ||\n               ((puVar18 < end &&\n                (pdVar12 = (dwarf_section *)(end + -(int)puVar18),\n                (undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)))" (parenthesized_expression "(puVar16 + 4 < end)" ( (binary_expression "puVar16 + 4 < end" (binary_expression "puVar16 + 4" identifier + number_literal) < identifier) )) || (parenthesized_expression "((puVar18 < end &&\n                (pdVar12 = (dwarf_section *)(end + -(int)puVar18),\n                (undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)))" ( (parenthesized_expression "(puVar18 < end &&\n                (pdVar12 = (dwarf_section *)(end + -(int)puVar18),\n                (undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8))" ( (binary_expression "puVar18 < end &&\n                (pdVar12 = (dwarf_section *)(end + -(int)puVar18),\n                (undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)" (binary_expression "puVar18 < end" identifier < identifier) && (parenthesized_expression "(pdVar12 = (dwarf_section *)(end + -(int)puVar18),\n                (undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8)" ( (comma_expression "pdVar12 = (dwarf_section *)(end + -(int)puVar18),\n                (undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8" (assignment_expression "pdVar12 = (dwarf_section *)(end + -(int)puVar18)" identifier = (cast_expression "(dwarf_section *)(end + -(int)puVar18)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(end + -(int)puVar18)" ( (binary_expression "end + -(int)puVar18" identifier + (unary_expression "-(int)puVar18" - (cast_expression "(int)puVar18" ( (type_descriptor "int" primitive_type) ) identifier))) )))) , (binary_expression "(undefined1 *)((int)&pdVar12[-1].user_data + 3U) < (undefined1 *)0x8" (cast_expression "(undefined1 *)((int)&pdVar12[-1].user_data + 3U)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pdVar12[-1].user_data + 3U)" ( (binary_expression "(int)&pdVar12[-1].user_data + 3U" (cast_expression "(int)&pdVar12[-1].user_data" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pdVar12[-1].user_data" & (field_expression "pdVar12[-1].user_data" (subscript_expression "pdVar12[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))) < (cast_expression "(undefined1 *)0x8" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) ))) )) (compound_statement "{\nLAB_000567c4:\n              puVar23 = puVar16 + 4;\n              eVar26 = (*byte_get)(puVar18,(int)pdVar12);\n              bVar8 = (byte)eVar26;\n              pdVar9 = pdVar12;\n              goto joined_r0x000567df;\n            }" { (labeled_statement "LAB_000567c4:\n              puVar23 = puVar16 + 4;" statement_identifier : (expression_statement "puVar23 = puVar16 + 4;" (assignment_expression "puVar23 = puVar16 + 4" identifier = (binary_expression "puVar16 + 4" identifier + number_literal)) ;)) (expression_statement "eVar26 = (*byte_get)(puVar18,(int)pdVar12);" (assignment_expression "eVar26 = (*byte_get)(puVar18,(int)pdVar12)" identifier = (call_expression "(*byte_get)(puVar18,(int)pdVar12)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar18,(int)pdVar12)" ( identifier , (cast_expression "(int)pdVar12" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (expression_statement "bVar8 = (byte)eVar26;" (assignment_expression "bVar8 = (byte)eVar26" identifier = (cast_expression "(byte)eVar26" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "pdVar9 = pdVar12;" (assignment_expression "pdVar9 = pdVar12" identifier = identifier) ;) (goto_statement "goto joined_r0x000567df;" goto statement_identifier ;) })) }) (else_clause "else {\n            if ((puVar23 < end) &&\n               (pdVar9 = (dwarf_section *)(end + -(int)puVar23),\n               (undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8))\n            goto LAB_00057245;\n            do_types = 0;\n            local_b4 = 0;\n            pdVar9 = (dwarf_section *)in_stack_fffffee8;\n            if (puVar16 + 4 < end) {\n              pdVar12 = (dwarf_section *)0x1;\n              goto LAB_000567c4;\n            }\n          }" else (compound_statement "{\n            if ((puVar23 < end) &&\n               (pdVar9 = (dwarf_section *)(end + -(int)puVar23),\n               (undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8))\n            goto LAB_00057245;\n            do_types = 0;\n            local_b4 = 0;\n            pdVar9 = (dwarf_section *)in_stack_fffffee8;\n            if (puVar16 + 4 < end) {\n              pdVar12 = (dwarf_section *)0x1;\n              goto LAB_000567c4;\n            }\n          }" { (if_statement "if ((puVar23 < end) &&\n               (pdVar9 = (dwarf_section *)(end + -(int)puVar23),\n               (undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8))\n            goto LAB_00057245;" if (parenthesized_expression "((puVar23 < end) &&\n               (pdVar9 = (dwarf_section *)(end + -(int)puVar23),\n               (undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8))" ( (binary_expression "(puVar23 < end) &&\n               (pdVar9 = (dwarf_section *)(end + -(int)puVar23),\n               (undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8)" (parenthesized_expression "(puVar23 < end)" ( (binary_expression "puVar23 < end" identifier < identifier) )) && (parenthesized_expression "(pdVar9 = (dwarf_section *)(end + -(int)puVar23),\n               (undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8)" ( (comma_expression "pdVar9 = (dwarf_section *)(end + -(int)puVar23),\n               (undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8" (assignment_expression "pdVar9 = (dwarf_section *)(end + -(int)puVar23)" identifier = (cast_expression "(dwarf_section *)(end + -(int)puVar23)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(end + -(int)puVar23)" ( (binary_expression "end + -(int)puVar23" identifier + (unary_expression "-(int)puVar23" - (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier))) )))) , (binary_expression "(undefined1 *)((int)&pdVar9[-1].user_data + 3U) < (undefined1 *)0x8" (cast_expression "(undefined1 *)((int)&pdVar9[-1].user_data + 3U)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pdVar9[-1].user_data + 3U)" ( (binary_expression "(int)&pdVar9[-1].user_data + 3U" (cast_expression "(int)&pdVar9[-1].user_data" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pdVar9[-1].user_data" & (field_expression "pdVar9[-1].user_data" (subscript_expression "pdVar9[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))) < (cast_expression "(undefined1 *)0x8" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_00057245;" goto statement_identifier ;)) (expression_statement "do_types = 0;" (assignment_expression "do_types = 0" identifier = number_literal) ;) (expression_statement "local_b4 = 0;" (assignment_expression "local_b4 = 0" identifier = number_literal) ;) (expression_statement "pdVar9 = (dwarf_section *)in_stack_fffffee8;" (assignment_expression "pdVar9 = (dwarf_section *)in_stack_fffffee8" identifier = (cast_expression "(dwarf_section *)in_stack_fffffee8" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (puVar16 + 4 < end) {\n              pdVar12 = (dwarf_section *)0x1;\n              goto LAB_000567c4;\n            }" if (parenthesized_expression "(puVar16 + 4 < end)" ( (binary_expression "puVar16 + 4 < end" (binary_expression "puVar16 + 4" identifier + number_literal) < identifier) )) (compound_statement "{\n              pdVar12 = (dwarf_section *)0x1;\n              goto LAB_000567c4;\n            }" { (expression_statement "pdVar12 = (dwarf_section *)0x1;" (assignment_expression "pdVar12 = (dwarf_section *)0x1" identifier = (cast_expression "(dwarf_section *)0x1" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000567c4;" goto statement_identifier ;) })) }))) (expression_statement "puVar23 = puVar16 + 4;" (assignment_expression "puVar23 = puVar16 + 4" identifier = (binary_expression "puVar16 + 4" identifier + number_literal)) ;) (expression_statement "bVar8 = 0;" (assignment_expression "bVar8 = 0" identifier = number_literal) ;) (expression_statement "puVar18 = puVar23 + (int)local_f0;" (assignment_expression "puVar18 = puVar23 + (int)local_f0" identifier = (binary_expression "puVar23 + (int)local_f0" identifier + (cast_expression "(int)local_f0" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "in_stack_fffffee8 = (char *)local_f0;" (assignment_expression "in_stack_fffffee8 = (char *)local_f0" identifier = (cast_expression "(char *)local_f0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (end <= puVar18) goto LAB_000567f7;" if (parenthesized_expression "(end <= puVar18)" ( (binary_expression "end <= puVar18" identifier <= identifier) )) (goto_statement "goto LAB_000567f7;" goto statement_identifier ;)) (labeled_statement "LAB_00056caa:\n          eVar26 = (*byte_get)(puVar23,(int)in_stack_fffffee8);" statement_identifier : (expression_statement "eVar26 = (*byte_get)(puVar23,(int)in_stack_fffffee8);" (assignment_expression "eVar26 = (*byte_get)(puVar23,(int)in_stack_fffffee8)" identifier = (call_expression "(*byte_get)(puVar23,(int)in_stack_fffffee8)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar23,(int)in_stack_fffffee8)" ( identifier , (cast_expression "(int)in_stack_fffffee8" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;)) (expression_statement "eVar27 = eVar26;" (assignment_expression "eVar27 = eVar26" identifier = identifier) ;) (if_statement "if (this_set == (cu_tu_set *)0x0) goto LAB_00056cce;" if (parenthesized_expression "(this_set == (cu_tu_set *)0x0)" ( (binary_expression "this_set == (cu_tu_set *)0x0" identifier == (cast_expression "(cu_tu_set *)0x0" ( (type_descriptor "cu_tu_set *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00056cce;" goto statement_identifier ;)) (labeled_statement "LAB_0005680f:\n          local_9c = (uint)this_set->section_offsets[3];" statement_identifier : (expression_statement "local_9c = (uint)this_set->section_offsets[3];" (assignment_expression "local_9c = (uint)this_set->section_offsets[3]" identifier = (cast_expression "(uint)this_set->section_offsets[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "this_set->section_offsets[3]" (field_expression "this_set->section_offsets" identifier -> field_identifier) [ number_literal ]))) ;)) (expression_statement "local_98 = *(int *)((int)this_set->section_offsets + 0x1c);" (assignment_expression "local_98 = *(int *)((int)this_set->section_offsets + 0x1c)" identifier = (pointer_expression "*(int *)((int)this_set->section_offsets + 0x1c)" * (cast_expression "(int *)((int)this_set->section_offsets + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)this_set->section_offsets + 0x1c)" ( (binary_expression "(int)this_set->section_offsets + 0x1c" (cast_expression "(int)this_set->section_offsets" ( (type_descriptor "int" primitive_type) ) (field_expression "this_set->section_offsets" identifier -> field_identifier)) + number_literal) ))))) ;) (expression_statement "local_ac = (dwarf_section *)this_set->section_sizes[3];" (assignment_expression "local_ac = (dwarf_section *)this_set->section_sizes[3]" identifier = (cast_expression "(dwarf_section *)this_set->section_sizes[3]" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "this_set->section_sizes[3]" (field_expression "this_set->section_sizes" identifier -> field_identifier) [ number_literal ]))) ;) })))) (expression_statement "puVar16 = puVar18;" (assignment_expression "puVar16 = puVar18" identifier = identifier) ;) (if_statement "if (local_e2 < 5) {\n          puVar16 = puVar18 + 1;\n          if (puVar16 < end) {\n            in_stack_fffffee8 = (char *)0x1;\nLAB_00056c35:\n            eVar27 = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n            bVar8 = (byte)eVar27;\n            goto LAB_00056c57;\n          }\n          if ((puVar18 < end) &&\n             (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n             (undefined1 *)\n             ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U) <\n             (undefined1 *)0x8)) goto LAB_00056c35;\n          in_stack_fffffee8 = (char *)0x0;\nLAB_00056853:\n          pcVar13 = (char *)dcgettext(0,\n                                      "Invalid pointer size (%d) in compunit header, using %d instead\n"\n                                      ,5);\n          warn(pcVar13,in_stack_fffffee8,local_f0);\n          bVar8 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar8 - 2)) {\n            in_stack_fffffee8 = (char *)(uint)bVar8;\n            goto LAB_00056853;\n          }\n        }" if (parenthesized_expression "(local_e2 < 5)" ( (binary_expression "local_e2 < 5" identifier < number_literal) )) (compound_statement "{\n          puVar16 = puVar18 + 1;\n          if (puVar16 < end) {\n            in_stack_fffffee8 = (char *)0x1;\nLAB_00056c35:\n            eVar27 = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n            bVar8 = (byte)eVar27;\n            goto LAB_00056c57;\n          }\n          if ((puVar18 < end) &&\n             (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n             (undefined1 *)\n             ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U) <\n             (undefined1 *)0x8)) goto LAB_00056c35;\n          in_stack_fffffee8 = (char *)0x0;\nLAB_00056853:\n          pcVar13 = (char *)dcgettext(0,\n                                      "Invalid pointer size (%d) in compunit header, using %d instead\n"\n                                      ,5);\n          warn(pcVar13,in_stack_fffffee8,local_f0);\n          bVar8 = (byte)local_f0;\n        }" { (expression_statement "puVar16 = puVar18 + 1;" (assignment_expression "puVar16 = puVar18 + 1" identifier = (binary_expression "puVar18 + 1" identifier + number_literal)) ;) (if_statement "if (puVar16 < end) {\n            in_stack_fffffee8 = (char *)0x1;\nLAB_00056c35:\n            eVar27 = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n            bVar8 = (byte)eVar27;\n            goto LAB_00056c57;\n          }" if (parenthesized_expression "(puVar16 < end)" ( (binary_expression "puVar16 < end" identifier < identifier) )) (compound_statement "{\n            in_stack_fffffee8 = (char *)0x1;\nLAB_00056c35:\n            eVar27 = (*byte_get)(puVar18,(int)in_stack_fffffee8);\n            bVar8 = (byte)eVar27;\n            goto LAB_00056c57;\n          }" { (expression_statement "in_stack_fffffee8 = (char *)0x1;" (assignment_expression "in_stack_fffffee8 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00056c35:\n            eVar27 = (*byte_get)(puVar18,(int)in_stack_fffffee8);" statement_identifier : (expression_statement "eVar27 = (*byte_get)(puVar18,(int)in_stack_fffffee8);" (assignment_expression "eVar27 = (*byte_get)(puVar18,(int)in_stack_fffffee8)" identifier = (call_expression "(*byte_get)(puVar18,(int)in_stack_fffffee8)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar18,(int)in_stack_fffffee8)" ( identifier , (cast_expression "(int)in_stack_fffffee8" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;)) (expression_statement "bVar8 = (byte)eVar27;" (assignment_expression "bVar8 = (byte)eVar27" identifier = (cast_expression "(byte)eVar27" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (goto_statement "goto LAB_00056c57;" goto statement_identifier ;) })) (if_statement "if ((puVar18 < end) &&\n             (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n             (undefined1 *)\n             ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U) <\n             (undefined1 *)0x8)) goto LAB_00056c35;" if (parenthesized_expression "((puVar18 < end) &&\n             (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n             (undefined1 *)\n             ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U) <\n             (undefined1 *)0x8))" ( (binary_expression "(puVar18 < end) &&\n             (in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n             (undefined1 *)\n             ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U) <\n             (undefined1 *)0x8)" (parenthesized_expression "(puVar18 < end)" ( (binary_expression "puVar18 < end" identifier < identifier) )) && (parenthesized_expression "(in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n             (undefined1 *)\n             ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U) <\n             (undefined1 *)0x8)" ( (comma_expression "in_stack_fffffee8 = (char *)(end + -(int)puVar18),\n             (undefined1 *)\n             ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U) <\n             (undefined1 *)0x8" (assignment_expression "in_stack_fffffee8 = (char *)(end + -(int)puVar18)" identifier = (cast_expression "(char *)(end + -(int)puVar18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(end + -(int)puVar18)" ( (binary_expression "end + -(int)puVar18" identifier + (unary_expression "-(int)puVar18" - (cast_expression "(int)puVar18" ( (type_descriptor "int" primitive_type) ) identifier))) )))) , (binary_expression "(undefined1 *)\n             ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U) <\n             (undefined1 *)0x8" (cast_expression "(undefined1 *)\n             ((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U)" ( (binary_expression "(int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U" (cast_expression "(int)&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data" & (field_expression "((dwarf_section *)((int)in_stack_fffffee8 + -0x34))->user_data" (parenthesized_expression "((dwarf_section *)((int)in_stack_fffffee8 + -0x34))" ( (cast_expression "(dwarf_section *)((int)in_stack_fffffee8 + -0x34)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)in_stack_fffffee8 + -0x34)" ( (binary_expression "(int)in_stack_fffffee8 + -0x34" (cast_expression "(int)in_stack_fffffee8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) )) -> field_identifier))) + number_literal) ))) < (cast_expression "(undefined1 *)0x8" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_00056c35;" goto statement_identifier ;)) (expression_statement "in_stack_fffffee8 = (char *)0x0;" (assignment_expression "in_stack_fffffee8 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00056853:\n          pcVar13 = (char *)dcgettext(0,\n                                      "Invalid pointer size (%d) in compunit header, using %d instead\n"\n                                      ,5);" statement_identifier : (expression_statement "pcVar13 = (char *)dcgettext(0,\n                                      "Invalid pointer size (%d) in compunit header, using %d instead\n"\n                                      ,5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,\n                                      "Invalid pointer size (%d) in compunit header, using %d instead\n"\n                                      ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                      "Invalid pointer size (%d) in compunit header, using %d instead\n"\n                                      ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                      "Invalid pointer size (%d) in compunit header, using %d instead\n"\n                                      ,5)" identifier (argument_list "(0,\n                                      "Invalid pointer size (%d) in compunit header, using %d instead\n"\n                                      ,5)" ( number_literal , (string_literal ""Invalid pointer size (%d) in compunit header, using %d instead\n"" " string_content escape_sequence ") , number_literal ))))) ;)) (expression_statement "warn(pcVar13,in_stack_fffffee8,local_f0);" (call_expression "warn(pcVar13,in_stack_fffffee8,local_f0)" identifier (argument_list "(pcVar13,in_stack_fffffee8,local_f0)" ( identifier , identifier , identifier ))) ;) (expression_statement "bVar8 = (byte)local_f0;" (assignment_expression "bVar8 = (byte)local_f0" identifier = (cast_expression "(byte)local_f0" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) }) (else_clause "else {\nLAB_00056c57:\n          if (6 < (byte)(bVar8 - 2)) {\n            in_stack_fffffee8 = (char *)(uint)bVar8;\n            goto LAB_00056853;\n          }\n        }" else (compound_statement "{\nLAB_00056c57:\n          if (6 < (byte)(bVar8 - 2)) {\n            in_stack_fffffee8 = (char *)(uint)bVar8;\n            goto LAB_00056853;\n          }\n        }" { (labeled_statement "LAB_00056c57:\n          if (6 < (byte)(bVar8 - 2)) {\n            in_stack_fffffee8 = (char *)(uint)bVar8;\n            goto LAB_00056853;\n          }" statement_identifier : (if_statement "if (6 < (byte)(bVar8 - 2)) {\n            in_stack_fffffee8 = (char *)(uint)bVar8;\n            goto LAB_00056853;\n          }" if (parenthesized_expression "(6 < (byte)(bVar8 - 2))" ( (binary_expression "6 < (byte)(bVar8 - 2)" number_literal < (call_expression "(byte)(bVar8 - 2)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar8 - 2)" ( (binary_expression "bVar8 - 2" identifier - number_literal) )))) )) (compound_statement "{\n            in_stack_fffffee8 = (char *)(uint)bVar8;\n            goto LAB_00056853;\n          }" { (expression_statement "in_stack_fffffee8 = (char *)(uint)bVar8;" (assignment_expression "in_stack_fffffee8 = (char *)(uint)bVar8" identifier = (cast_expression "(char *)(uint)bVar8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar8" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (goto_statement "goto LAB_00056853;" goto statement_identifier ;) }))) }))) (expression_statement "local_bc._0_4_ = 0;" (assignment_expression "local_bc._0_4_ = 0" (field_expression "local_bc._0_4_" identifier . field_identifier) = number_literal) ;) (if_statement "if (do_types != 0) {\n          puVar18 = puVar16 + 8;\n          if (end < puVar18) {\n            signature_high._0_4_ = (char *)0x0;\n            signature_high._4_4_ = 0;\n            signature_low._0_4_ = 0;\n            signature_low._4_4_ = 0;\n          }\n          else {\n            in_stack_fffffee8 = (char *)&signature_high;\n            byte_get_64(puVar16,(elf_vma *)in_stack_fffffee8,&signature_low);\n          }\n          puVar16 = puVar18 + (int)local_f0;\n          pdVar9 = local_f0;\n          if ((puVar16 < end) ||\n             ((local_bc._0_4_ = 0, puVar18 < end &&\n              (pdVar9 = (dwarf_section *)(end + -(int)puVar18),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar18))[-1].user_data + 3U) <\n              (undefined1 *)0x8)))) {\n            eVar27 = (*byte_get)(puVar18,(int)pdVar9);\n            local_bc._0_4_ = (uint)eVar27;\n            in_stack_fffffee8 = (char *)pdVar9;\n          }\n        }" if (parenthesized_expression "(do_types != 0)" ( (binary_expression "do_types != 0" identifier != number_literal) )) (compound_statement "{\n          puVar18 = puVar16 + 8;\n          if (end < puVar18) {\n            signature_high._0_4_ = (char *)0x0;\n            signature_high._4_4_ = 0;\n            signature_low._0_4_ = 0;\n            signature_low._4_4_ = 0;\n          }\n          else {\n            in_stack_fffffee8 = (char *)&signature_high;\n            byte_get_64(puVar16,(elf_vma *)in_stack_fffffee8,&signature_low);\n          }\n          puVar16 = puVar18 + (int)local_f0;\n          pdVar9 = local_f0;\n          if ((puVar16 < end) ||\n             ((local_bc._0_4_ = 0, puVar18 < end &&\n              (pdVar9 = (dwarf_section *)(end + -(int)puVar18),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar18))[-1].user_data + 3U) <\n              (undefined1 *)0x8)))) {\n            eVar27 = (*byte_get)(puVar18,(int)pdVar9);\n            local_bc._0_4_ = (uint)eVar27;\n            in_stack_fffffee8 = (char *)pdVar9;\n          }\n        }" { (expression_statement "puVar18 = puVar16 + 8;" (assignment_expression "puVar18 = puVar16 + 8" identifier = (binary_expression "puVar16 + 8" identifier + number_literal)) ;) (if_statement "if (end < puVar18) {\n            signature_high._0_4_ = (char *)0x0;\n            signature_high._4_4_ = 0;\n            signature_low._0_4_ = 0;\n            signature_low._4_4_ = 0;\n          }\n          else {\n            in_stack_fffffee8 = (char *)&signature_high;\n            byte_get_64(puVar16,(elf_vma *)in_stack_fffffee8,&signature_low);\n          }" if (parenthesized_expression "(end < puVar18)" ( (binary_expression "end < puVar18" identifier < identifier) )) (compound_statement "{\n            signature_high._0_4_ = (char *)0x0;\n            signature_high._4_4_ = 0;\n            signature_low._0_4_ = 0;\n            signature_low._4_4_ = 0;\n          }" { (expression_statement "signature_high._0_4_ = (char *)0x0;" (assignment_expression "signature_high._0_4_ = (char *)0x0" (field_expression "signature_high._0_4_" identifier . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "signature_high._4_4_ = 0;" (assignment_expression "signature_high._4_4_ = 0" (field_expression "signature_high._4_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "signature_low._0_4_ = 0;" (assignment_expression "signature_low._0_4_ = 0" (field_expression "signature_low._0_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "signature_low._4_4_ = 0;" (assignment_expression "signature_low._4_4_ = 0" (field_expression "signature_low._4_4_" identifier . field_identifier) = number_literal) ;) }) (else_clause "else {\n            in_stack_fffffee8 = (char *)&signature_high;\n            byte_get_64(puVar16,(elf_vma *)in_stack_fffffee8,&signature_low);\n          }" else (compound_statement "{\n            in_stack_fffffee8 = (char *)&signature_high;\n            byte_get_64(puVar16,(elf_vma *)in_stack_fffffee8,&signature_low);\n          }" { (expression_statement "in_stack_fffffee8 = (char *)&signature_high;" (assignment_expression "in_stack_fffffee8 = (char *)&signature_high" identifier = (cast_expression "(char *)&signature_high" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&signature_high" & identifier))) ;) (expression_statement "byte_get_64(puVar16,(elf_vma *)in_stack_fffffee8,&signature_low);" (call_expression "byte_get_64(puVar16,(elf_vma *)in_stack_fffffee8,&signature_low)" identifier (argument_list "(puVar16,(elf_vma *)in_stack_fffffee8,&signature_low)" ( identifier , (cast_expression "(elf_vma *)in_stack_fffffee8" ( (type_descriptor "elf_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "&signature_low" & identifier) ))) ;) }))) (expression_statement "puVar16 = puVar18 + (int)local_f0;" (assignment_expression "puVar16 = puVar18 + (int)local_f0" identifier = (binary_expression "puVar18 + (int)local_f0" identifier + (cast_expression "(int)local_f0" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pdVar9 = local_f0;" (assignment_expression "pdVar9 = local_f0" identifier = identifier) ;) (if_statement "if ((puVar16 < end) ||\n             ((local_bc._0_4_ = 0, puVar18 < end &&\n              (pdVar9 = (dwarf_section *)(end + -(int)puVar18),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar18))[-1].user_data + 3U) <\n              (undefined1 *)0x8)))) {\n            eVar27 = (*byte_get)(puVar18,(int)pdVar9);\n            local_bc._0_4_ = (uint)eVar27;\n            in_stack_fffffee8 = (char *)pdVar9;\n          }" if (parenthesized_expression "((puVar16 < end) ||\n             ((local_bc._0_4_ = 0, puVar18 < end &&\n              (pdVar9 = (dwarf_section *)(end + -(int)puVar18),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar18))[-1].user_data + 3U) <\n              (undefined1 *)0x8))))" ( (binary_expression "(puVar16 < end) ||\n             ((local_bc._0_4_ = 0, puVar18 < end &&\n              (pdVar9 = (dwarf_section *)(end + -(int)puVar18),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar18))[-1].user_data + 3U) <\n              (undefined1 *)0x8)))" (parenthesized_expression "(puVar16 < end)" ( (binary_expression "puVar16 < end" identifier < identifier) )) || (parenthesized_expression "((local_bc._0_4_ = 0, puVar18 < end &&\n              (pdVar9 = (dwarf_section *)(end + -(int)puVar18),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar18))[-1].user_data + 3U) <\n              (undefined1 *)0x8)))" ( (parenthesized_expression "(local_bc._0_4_ = 0, puVar18 < end &&\n              (pdVar9 = (dwarf_section *)(end + -(int)puVar18),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar18))[-1].user_data + 3U) <\n              (undefined1 *)0x8))" ( (comma_expression "local_bc._0_4_ = 0, puVar18 < end &&\n              (pdVar9 = (dwarf_section *)(end + -(int)puVar18),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar18))[-1].user_data + 3U) <\n              (undefined1 *)0x8)" (assignment_expression "local_bc._0_4_ = 0" (field_expression "local_bc._0_4_" identifier . field_identifier) = number_literal) , (binary_expression "puVar18 < end &&\n              (pdVar9 = (dwarf_section *)(end + -(int)puVar18),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar18))[-1].user_data + 3U) <\n              (undefined1 *)0x8)" (binary_expression "puVar18 < end" identifier < identifier) && (parenthesized_expression "(pdVar9 = (dwarf_section *)(end + -(int)puVar18),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar18))[-1].user_data + 3U) <\n              (undefined1 *)0x8)" ( (comma_expression "pdVar9 = (dwarf_section *)(end + -(int)puVar18),\n              (undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar18))[-1].user_data + 3U) <\n              (undefined1 *)0x8" (assignment_expression "pdVar9 = (dwarf_section *)(end + -(int)puVar18)" identifier = (cast_expression "(dwarf_section *)(end + -(int)puVar18)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(end + -(int)puVar18)" ( (binary_expression "end + -(int)puVar18" identifier + (unary_expression "-(int)puVar18" - (cast_expression "(int)puVar18" ( (type_descriptor "int" primitive_type) ) identifier))) )))) , (binary_expression "(undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar18))[-1].user_data + 3U) <\n              (undefined1 *)0x8" (cast_expression "(undefined1 *)((int)&((dwarf_section *)(end + -(int)puVar18))[-1].user_data + 3U)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((dwarf_section *)(end + -(int)puVar18))[-1].user_data + 3U)" ( (binary_expression "(int)&((dwarf_section *)(end + -(int)puVar18))[-1].user_data + 3U" (cast_expression "(int)&((dwarf_section *)(end + -(int)puVar18))[-1].user_data" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((dwarf_section *)(end + -(int)puVar18))[-1].user_data" & (field_expression "((dwarf_section *)(end + -(int)puVar18))[-1].user_data" (subscript_expression "((dwarf_section *)(end + -(int)puVar18))[-1]" (parenthesized_expression "((dwarf_section *)(end + -(int)puVar18))" ( (cast_expression "(dwarf_section *)(end + -(int)puVar18)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(end + -(int)puVar18)" ( (binary_expression "end + -(int)puVar18" identifier + (unary_expression "-(int)puVar18" - (cast_expression "(int)puVar18" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) [ number_literal ]) . field_identifier))) + number_literal) ))) < (cast_expression "(undefined1 *)0x8" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )))) )) ))) )) (compound_statement "{\n            eVar27 = (*byte_get)(puVar18,(int)pdVar9);\n            local_bc._0_4_ = (uint)eVar27;\n            in_stack_fffffee8 = (char *)pdVar9;\n          }" { (expression_statement "eVar27 = (*byte_get)(puVar18,(int)pdVar9);" (assignment_expression "eVar27 = (*byte_get)(puVar18,(int)pdVar9)" identifier = (call_expression "(*byte_get)(puVar18,(int)pdVar9)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar18,(int)pdVar9)" ( identifier , (cast_expression "(int)pdVar9" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (expression_statement "local_bc._0_4_ = (uint)eVar27;" (assignment_expression "local_bc._0_4_ = (uint)eVar27" (field_expression "local_bc._0_4_" identifier . field_identifier) = (cast_expression "(uint)eVar27" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "in_stack_fffffee8 = (char *)pdVar9;" (assignment_expression "in_stack_fffffee8 = (char *)pdVar9" identifier = (cast_expression "(char *)pdVar9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) })) (expression_statement "uVar15 = dwarf_start_die;" (assignment_expression "uVar15 = dwarf_start_die" identifier = identifier) ;) (expression_statement "local_a0 = (uint)(eVar26 >> 0x20);" (assignment_expression "local_a0 = (uint)(eVar26 >> 0x20)" identifier = (call_expression "(uint)(eVar26 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(eVar26 >> 0x20)" ( (binary_expression "eVar26 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "local_b0 = (dwarf_section *)eVar26;" (assignment_expression "local_b0 = (dwarf_section *)eVar26" identifier = (cast_expression "(dwarf_section *)eVar26" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar14 = (int)local_d4 + uVar10;" (assignment_expression "uVar14 = (int)local_d4 + uVar10" identifier = (binary_expression "(int)local_d4 + uVar10" (cast_expression "(int)local_d4" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (if_statement "if (local_ec._4_4_ + (uint)CARRY4(local_cc,(uint)local_ec) + iVar11 +\n            (uint)CARRY4(local_cc + (uint)local_ec,uVar10) <\n            (uint)(local_cc + (uint)local_ec + uVar10 < dwarf_start_die)) {\n          local_f4 = puVar1 + uVar14 + (uint)local_ec;\n        }\n        else {\n          if (do_loc == 0) {\n            if ((do_debug_loc != 0 || do_debug_ranges != 0) && (num_debug_info_entries == 0)) {\nLAB_00056993:\n              if (do_types == 0) {\n                pdVar24 = debug_information + local_a4;\n                pdVar24->pointer_size = (uint)bVar8;\n                *(int *)((int)&pdVar24->cu_offset + 4) = iVar11;\n                *(uint *)&pdVar24->cu_offset = uVar10;\n                pdVar24->offset_size = (uint)local_f0;\n                pdVar24->dwarf_version = (uint)local_e2;\n                *(undefined4 *)&pdVar24->base_address = 0;\n                *(undefined4 *)((int)&pdVar24->base_address + 4) = 0;\n                *(undefined4 *)&pdVar24->addr_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->addr_base + 4) = 0;\n                *(undefined4 *)&pdVar24->ranges_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->ranges_base + 4) = 0;\n                pdVar24->loc_offsets = (dwarf_vma *)0x0;\n                pdVar24->have_frame_base = (int *)0x0;\n                pdVar24->max_loc_offsets = 0;\n                pdVar24->num_loc_offsets = 0;\n                pdVar24->range_lists = (dwarf_vma *)0x0;\n                pdVar24->max_range_lists = 0;\n                pdVar24->num_range_lists = 0;\n              }\n              if (do_loc != 0) goto LAB_00056a44;\n            }\n            if (uVar15 == 0) {\n              pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n              pcVar13 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar13);\n              pcVar13 = "64-bit";\n              if (local_f0 != (dwarf_section *)0x8) {\n                pcVar13 = "32-bit";\n              }\n              pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar17) << 0x20,(uint)local_ec);\n              pcVar19 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar19,pcVar17,pcVar13);\n              pcVar13 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              uVar22 = (uint)local_e2;\n              printf(pcVar13);\n              pcVar13 = dwarf_vmatoa_1("x",(ulonglong)uVar22 << 0x20,(uint)local_b0);\n              pcVar17 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar17,pcVar13);\n              pcVar13 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              in_stack_fffffee8 = (char *)(uint)bVar8;\n              printf(pcVar13);\n              if (do_types != 0) {\n                pcVar13 = dwarf_vmatoa64(CONCAT44(signature_low._4_4_,(undefined4)signature_low),\n                                         CONCAT44(puVar29,buf),(char *)signature_high,\n                                         signature_high._4_4_);\n                pcVar17 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar17);\n                in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)local_bc);\n                pcVar13 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar13);\n              }\n              if (this_set != (cu_tu_set *)0x0) {\n                pcVar13 = "   Section contributions:\n";\n                pcVar17 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[3]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[3]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[4]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[4]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[5]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[5]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[6]);\n                in_stack_fffffee8 =\n                     dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)this_set->section_offsets[6]);\n                pcVar13 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar13,in_stack_fffffee8,pcVar17);\n              }\n            }\n          }\n          else if (num_debug_info_entries == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar22 = local_ec._4_4_ + (uint)CARRY4((uint)local_ec,uVar14);\n          if ((uVar22 < ((uint)local_ec + uVar14 < uVar14)) ||\n             (uVar2 = *(uint *)((int)&section->size + 4),\n             uVar2 < uVar22 ||\n             uVar2 - uVar22 < (uint)((uint)section->size < (uint)local_ec + uVar14))) {\n            pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,(uint)local_ec);\n            pcVar13 = section->name;\n            pcVar19 = (char *)dcgettext(0,\n                                        "Debug info is corrupted, %s header at %#lx has length %s\n"\n                                        ,5);\n            warn(pcVar19,pcVar13,uVar10,pcVar17);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + (int)local_d4 + (uint)local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              puVar29 = (uchar *)0x572c5;\n              free_abbrevs();\n              if (local_a0 < (local_b0 < local_ac)) {\n                iVar11 = abbrev_sec * 0x40;\n                pcVar13 = *(char **)(&DAT_000b485c + iVar11);\n                pdVar9 = (dwarf_section *)((int)&local_ac->uncompressed_name + local_9c);\n                uVar14 = local_98 + (uint)CARRY4((uint)local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + iVar11) < uVar14 ||\n                    *(uint *)(&DAT_000b4860 + iVar11) - uVar14 <\n                    (uint)(pcVar13 < (char *)((int)&local_ac->uncompressed_name + local_9c))) {\n                  pcVar17 = (char *)dcgettext(0,\n                                              "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                              ,5);\n                  warn(pcVar17,pdVar9,pcVar13);\n                  in_stack_fffffee8 = (char *)pdVar9;\n                }\n                else if (first_abbrev == (abbrev_entry *)0x0) {\n                  puVar29 = (uchar *)0x57341;\n                  process_abbrev_section\n                            ((uchar *)((int)&local_b0->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11) + local_9c),\n                             (uchar *)((int)&pdVar9->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11)));\n                }\n              }\n              else {\n                pcVar13 = (char *)dcgettext(0,\n                                            "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                            ,5);\n                warn(pcVar13,local_b0,local_ac);\n                in_stack_fffffee8 = (char *)local_b0;\n              }\n              if (puVar16 < local_f4) {\n                local_78 = (dwarf_section *)0xffffffff;\n                local_70 = (dwarf_section *)0x0;\n                local_d4 = (dwarf_section *)0x0;\n                do {\n                  pdVar12 = (dwarf_section *)(puVar16 + -(int)puVar1);\n                  pdVar9 = (dwarf_section *)0x0;\n                  in_stack_fffffee8 = buf;\n                  puVar29 = local_f4;\n                  dVar28 = read_leb128(puVar16,(uint *)buf,0,local_f4);\n                  uVar15 = (ulong)dVar28;\n                  puVar16 = puVar16 + buf._0_4_;\n                  if (uVar15 == 0) {\n                    if ((local_d4 == (dwarf_section *)0x0) && (end == local_f4)) {\n                      puVar18 = puVar16;\n                      if (puVar16 < local_f4) {\n                        while (*puVar18 == '\0') {\n                          puVar18 = puVar18 + 1;\n                          if (local_f4 == puVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == puVar16) break;\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         ((0 < dwarf_cutoff_level || (dwarf_cutoff_level == -1)))) {\n                        pdVar9 = (dwarf_section *)0xffffffff;\nLAB_00057496:\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar13,local_d4,pdVar12);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        if (-1 < (int)pdVar9) goto LAB_00057428;\n                      }\n                      else {\n                        pdVar9 = (dwarf_section *)0xffffffff;\n                        local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      }\nLAB_000574d0:\n                      in_stack_fffffee8 = (char *)local_d4;\n                      if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                          lexical_block_12_26_8::num_bogus_warns < 3) {\n                        pcVar13 = section->name;\n                        pcVar17 = (char *)dcgettext(0,\n                                                  "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                                  ,5);\n                        warn(pcVar17,pdVar12,pcVar13);\n                        process_debug_info::lexical_block_12::lexical_block_12_26::\n                        lexical_block_12_26_8::num_bogus_warns =\n                             process_debug_info::lexical_block_12::lexical_block_12_26::\n                             lexical_block_12_26_8::num_bogus_warns + 1;\n                        in_stack_fffffee8 = (char *)pdVar12;\n                        if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                            lexical_block_12_26_8::num_bogus_warns == 3) {\n                          in_stack_fffffee8 =\n                               "Further warnings about bogus end-of-sibling markers suppressed\n";\n                          pcVar13 = (char *)dcgettext(0,\n                                                  "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                                  ,5);\n                          warn(pcVar13);\n                        }\n                      }\n                    }\n                    else {\n                      pdVar9 = (dwarf_section *)((int)&local_d4[-1].user_data + 3);\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         (((int)local_d4 < dwarf_cutoff_level || (dwarf_cutoff_level == -1))))\n                      goto LAB_00057496;\n                      local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      if ((int)pdVar9 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = pdVar9;\n                    if ((dwarf_start_die != 0) && ((int)pdVar9 < (int)local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (do_loc == 0) {\n                      if (dwarf_start_die != 0) {\n                        if (pdVar12 < dwarf_start_die) {\n                          bVar20 = false;\n                          iVar11 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if ((dwarf_section *)dwarf_start_die == pdVar12) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar20 = dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level;\n                      if (dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level) {\n                        in_stack_fffffee8 = " <%d><%lx>: Abbrev Number: %lu";\n                        pdVar9 = (dwarf_section *)0x5;\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar13,local_d4,pdVar12,uVar15);\n                        local_70 = local_d4;\n                        iVar11 = 1;\n                      }\n                      else if ((int)local_70 < dwarf_cutoff_level) {\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        pdVar9 = pdVar12;\n                        printf(pcVar13,local_d4,pdVar12);\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                    }\n                    else {\n                      bVar20 = false;\n                      iVar11 = do_loc;\n                    }\nLAB_0005783c:\n                    if (first_abbrev == (abbrev_entry *)0x0) {\nLAB_00057dbe:\n                      if (bVar20) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      pcVar13 = (char *)dcgettext(0,\n                                                  "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                                  ,5);\n                      warn(pcVar13,pdVar12,uVar15);\n                      return 0;\n                    }\n                    uVar3 = first_abbrev->entry;\n                    paVar4 = first_abbrev;\n                    while (uVar3 != uVar15) {\n                      paVar4 = paVar4->next;\n                      if (paVar4 == (abbrev_entry *)0x0) goto LAB_00057dbe;\n                      uVar3 = paVar4->entry;\n                    }\n                    uVar15 = paVar4->tag;\n                    if (bVar20) {\n                      puVar29 = (uchar *)0x57bcc;\n                      in_stack_fffffee8 = get_TAG_name(uVar15);\n                      printf(" (%s)\n",in_stack_fffffee8,pdVar9);\n                      uVar15 = paVar4->tag;\n                    }\n                    if (uVar15 == 0x11) {\n                      need_base_address = 1;\n                      need_dwo_info = do_loc;\n                    }\n                    else if ((uVar15 == 0x2e) || (uVar15 == 3)) {\n                      need_base_address = 0;\n                      have_frame_base = 0;\n                    }\n                    else {\n                      need_base_address = 0;\n                    }\n                    if (((debug_information == (debug_info *)0x0) ||\n                        (alloc_num_debug_info_entries <= local_a4)) ||\n                       (pdVar24 = debug_information + local_a4, pdVar24 == (debug_info *)0x0)) {\n                      paVar25 = paVar4->first_attr;\n                      if ((paVar25 != (abbrev_attr *)0x0) &&\n                         (pdVar24 = (debug_info *)0x0, paVar25->attribute != 0)) {\nLAB_000578fa:\n                        local_bc = ZEXT48(local_f0);\n                        do {\n                          if (bVar20) {\n                            printf("    <%lx>",(int)puVar16 - (int)puVar1);\n                          }\n                          uVar15 = paVar25->form;\n                          implicit_const = paVar25->implicit_const;\n                          uVar3 = paVar25->attribute;\n                          if (iVar11 == 1 && do_loc == 0) {\n                            puVar29 = (uchar *)0x579ff;\n                            in_stack_fffffee8 = get_AT_name(uVar3);\n                            printf("   %-18s:");\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,\n                                                 ' ');\n                            putchar(10);\n                            paVar25 = paVar25->next;\n                          }\n                          else {\n                            puVar29 = (uchar *)0x20;\n                            in_stack_fffffee8 = (char *)section;\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ');\n                            paVar25 = paVar25->next;\n                          }\n                        } while ((paVar25 != (abbrev_attr *)0x0) && (paVar25->attribute != 0));\n                        if (pdVar24 != (debug_info *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (pdVar24->num_loc_offsets != pdVar24->num_loc_views) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      paVar25 = paVar4->first_attr;\n                      if (paVar25 != (abbrev_attr *)0x0) {\n                        if (paVar25->attribute != 0) goto LAB_000578fa;\nLAB_00057a88:\n                        uVar14 = pdVar24->num_loc_offsets;\n                        uVar22 = pdVar24->num_loc_views;\n                        if (uVar14 - uVar22 == 1) {\n                          pdVar6 = pdVar24->loc_views;\n                          *(undefined4 *)(pdVar6 + uVar22) = 0xffffffff;\n                          *(undefined4 *)((int)pdVar6 + uVar22 * 8 + 4) = 0xffffffff;\n                          pdVar24->num_loc_views = uVar22 + 1;\n                          if (uVar22 + 1 != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (uVar14 != uVar22) {\n                          if (uVar14 - uVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          in_stack_fffffee8 = "DIE has locviews without loclist\n";\n                          pcVar13 = (char *)dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(pcVar13);\n                          pdVar24->num_loc_views = pdVar24->num_loc_views - 1;\n                        }\n                      }\n                    }\n                    local_d4 = (dwarf_section *)\n                               ((int)&local_d4->uncompressed_name + (uint)(paVar4->children != 0));\n                  }\n                } while (puVar16 < local_f4);\n              }\n            }\n            else {\n              in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n              pcVar13 = (char *)dcgettext(0,\n                                          "CU at offset %s contains corrupt or unsupported unit type: %d.\n"\n                                          ,5);\n              warn(pcVar13,in_stack_fffffee8,local_b4);\n            }\n          }\n          else {\n            in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n            pcVar13 = (char *)dcgettext(0,\n                                        "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                                        ,5);\n            warn(pcVar13,in_stack_fffffee8,(uint)local_e2);\n          }\n        }" if (parenthesized_expression "(local_ec._4_4_ + (uint)CARRY4(local_cc,(uint)local_ec) + iVar11 +\n            (uint)CARRY4(local_cc + (uint)local_ec,uVar10) <\n            (uint)(local_cc + (uint)local_ec + uVar10 < dwarf_start_die))" ( (binary_expression "local_ec._4_4_ + (uint)CARRY4(local_cc,(uint)local_ec) + iVar11 +\n            (uint)CARRY4(local_cc + (uint)local_ec,uVar10) <\n            (uint)(local_cc + (uint)local_ec + uVar10 < dwarf_start_die)" (binary_expression "local_ec._4_4_ + (uint)CARRY4(local_cc,(uint)local_ec) + iVar11 +\n            (uint)CARRY4(local_cc + (uint)local_ec,uVar10)" (binary_expression "local_ec._4_4_ + (uint)CARRY4(local_cc,(uint)local_ec) + iVar11" (binary_expression "local_ec._4_4_ + (uint)CARRY4(local_cc,(uint)local_ec)" (field_expression "local_ec._4_4_" identifier . field_identifier) + (cast_expression "(uint)CARRY4(local_cc,(uint)local_ec)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(local_cc,(uint)local_ec)" identifier (argument_list "(local_cc,(uint)local_ec)" ( identifier , (cast_expression "(uint)local_ec" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) + identifier) + (cast_expression "(uint)CARRY4(local_cc + (uint)local_ec,uVar10)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(local_cc + (uint)local_ec,uVar10)" identifier (argument_list "(local_cc + (uint)local_ec,uVar10)" ( (binary_expression "local_cc + (uint)local_ec" identifier + (cast_expression "(uint)local_ec" ( (type_descriptor "uint" type_identifier) ) identifier)) , identifier ))))) < (call_expression "(uint)(local_cc + (uint)local_ec + uVar10 < dwarf_start_die)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_cc + (uint)local_ec + uVar10 < dwarf_start_die)" ( (binary_expression "local_cc + (uint)local_ec + uVar10 < dwarf_start_die" (binary_expression "local_cc + (uint)local_ec + uVar10" (binary_expression "local_cc + (uint)local_ec" identifier + (cast_expression "(uint)local_ec" ( (type_descriptor "uint" type_identifier) ) identifier)) + identifier) < identifier) )))) )) (compound_statement "{\n          local_f4 = puVar1 + uVar14 + (uint)local_ec;\n        }" { (expression_statement "local_f4 = puVar1 + uVar14 + (uint)local_ec;" (assignment_expression "local_f4 = puVar1 + uVar14 + (uint)local_ec" identifier = (binary_expression "puVar1 + uVar14 + (uint)local_ec" (binary_expression "puVar1 + uVar14" identifier + identifier) + (cast_expression "(uint)local_ec" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) }) (else_clause "else {\n          if (do_loc == 0) {\n            if ((do_debug_loc != 0 || do_debug_ranges != 0) && (num_debug_info_entries == 0)) {\nLAB_00056993:\n              if (do_types == 0) {\n                pdVar24 = debug_information + local_a4;\n                pdVar24->pointer_size = (uint)bVar8;\n                *(int *)((int)&pdVar24->cu_offset + 4) = iVar11;\n                *(uint *)&pdVar24->cu_offset = uVar10;\n                pdVar24->offset_size = (uint)local_f0;\n                pdVar24->dwarf_version = (uint)local_e2;\n                *(undefined4 *)&pdVar24->base_address = 0;\n                *(undefined4 *)((int)&pdVar24->base_address + 4) = 0;\n                *(undefined4 *)&pdVar24->addr_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->addr_base + 4) = 0;\n                *(undefined4 *)&pdVar24->ranges_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->ranges_base + 4) = 0;\n                pdVar24->loc_offsets = (dwarf_vma *)0x0;\n                pdVar24->have_frame_base = (int *)0x0;\n                pdVar24->max_loc_offsets = 0;\n                pdVar24->num_loc_offsets = 0;\n                pdVar24->range_lists = (dwarf_vma *)0x0;\n                pdVar24->max_range_lists = 0;\n                pdVar24->num_range_lists = 0;\n              }\n              if (do_loc != 0) goto LAB_00056a44;\n            }\n            if (uVar15 == 0) {\n              pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n              pcVar13 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar13);\n              pcVar13 = "64-bit";\n              if (local_f0 != (dwarf_section *)0x8) {\n                pcVar13 = "32-bit";\n              }\n              pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar17) << 0x20,(uint)local_ec);\n              pcVar19 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar19,pcVar17,pcVar13);\n              pcVar13 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              uVar22 = (uint)local_e2;\n              printf(pcVar13);\n              pcVar13 = dwarf_vmatoa_1("x",(ulonglong)uVar22 << 0x20,(uint)local_b0);\n              pcVar17 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar17,pcVar13);\n              pcVar13 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              in_stack_fffffee8 = (char *)(uint)bVar8;\n              printf(pcVar13);\n              if (do_types != 0) {\n                pcVar13 = dwarf_vmatoa64(CONCAT44(signature_low._4_4_,(undefined4)signature_low),\n                                         CONCAT44(puVar29,buf),(char *)signature_high,\n                                         signature_high._4_4_);\n                pcVar17 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar17);\n                in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)local_bc);\n                pcVar13 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar13);\n              }\n              if (this_set != (cu_tu_set *)0x0) {\n                pcVar13 = "   Section contributions:\n";\n                pcVar17 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[3]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[3]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[4]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[4]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[5]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[5]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[6]);\n                in_stack_fffffee8 =\n                     dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)this_set->section_offsets[6]);\n                pcVar13 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar13,in_stack_fffffee8,pcVar17);\n              }\n            }\n          }\n          else if (num_debug_info_entries == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar22 = local_ec._4_4_ + (uint)CARRY4((uint)local_ec,uVar14);\n          if ((uVar22 < ((uint)local_ec + uVar14 < uVar14)) ||\n             (uVar2 = *(uint *)((int)&section->size + 4),\n             uVar2 < uVar22 ||\n             uVar2 - uVar22 < (uint)((uint)section->size < (uint)local_ec + uVar14))) {\n            pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,(uint)local_ec);\n            pcVar13 = section->name;\n            pcVar19 = (char *)dcgettext(0,\n                                        "Debug info is corrupted, %s header at %#lx has length %s\n"\n                                        ,5);\n            warn(pcVar19,pcVar13,uVar10,pcVar17);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + (int)local_d4 + (uint)local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              puVar29 = (uchar *)0x572c5;\n              free_abbrevs();\n              if (local_a0 < (local_b0 < local_ac)) {\n                iVar11 = abbrev_sec * 0x40;\n                pcVar13 = *(char **)(&DAT_000b485c + iVar11);\n                pdVar9 = (dwarf_section *)((int)&local_ac->uncompressed_name + local_9c);\n                uVar14 = local_98 + (uint)CARRY4((uint)local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + iVar11) < uVar14 ||\n                    *(uint *)(&DAT_000b4860 + iVar11) - uVar14 <\n                    (uint)(pcVar13 < (char *)((int)&local_ac->uncompressed_name + local_9c))) {\n                  pcVar17 = (char *)dcgettext(0,\n                                              "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                              ,5);\n                  warn(pcVar17,pdVar9,pcVar13);\n                  in_stack_fffffee8 = (char *)pdVar9;\n                }\n                else if (first_abbrev == (abbrev_entry *)0x0) {\n                  puVar29 = (uchar *)0x57341;\n                  process_abbrev_section\n                            ((uchar *)((int)&local_b0->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11) + local_9c),\n                             (uchar *)((int)&pdVar9->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11)));\n                }\n              }\n              else {\n                pcVar13 = (char *)dcgettext(0,\n                                            "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                            ,5);\n                warn(pcVar13,local_b0,local_ac);\n                in_stack_fffffee8 = (char *)local_b0;\n              }\n              if (puVar16 < local_f4) {\n                local_78 = (dwarf_section *)0xffffffff;\n                local_70 = (dwarf_section *)0x0;\n                local_d4 = (dwarf_section *)0x0;\n                do {\n                  pdVar12 = (dwarf_section *)(puVar16 + -(int)puVar1);\n                  pdVar9 = (dwarf_section *)0x0;\n                  in_stack_fffffee8 = buf;\n                  puVar29 = local_f4;\n                  dVar28 = read_leb128(puVar16,(uint *)buf,0,local_f4);\n                  uVar15 = (ulong)dVar28;\n                  puVar16 = puVar16 + buf._0_4_;\n                  if (uVar15 == 0) {\n                    if ((local_d4 == (dwarf_section *)0x0) && (end == local_f4)) {\n                      puVar18 = puVar16;\n                      if (puVar16 < local_f4) {\n                        while (*puVar18 == '\0') {\n                          puVar18 = puVar18 + 1;\n                          if (local_f4 == puVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == puVar16) break;\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         ((0 < dwarf_cutoff_level || (dwarf_cutoff_level == -1)))) {\n                        pdVar9 = (dwarf_section *)0xffffffff;\nLAB_00057496:\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar13,local_d4,pdVar12);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        if (-1 < (int)pdVar9) goto LAB_00057428;\n                      }\n                      else {\n                        pdVar9 = (dwarf_section *)0xffffffff;\n                        local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      }\nLAB_000574d0:\n                      in_stack_fffffee8 = (char *)local_d4;\n                      if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                          lexical_block_12_26_8::num_bogus_warns < 3) {\n                        pcVar13 = section->name;\n                        pcVar17 = (char *)dcgettext(0,\n                                                  "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                                  ,5);\n                        warn(pcVar17,pdVar12,pcVar13);\n                        process_debug_info::lexical_block_12::lexical_block_12_26::\n                        lexical_block_12_26_8::num_bogus_warns =\n                             process_debug_info::lexical_block_12::lexical_block_12_26::\n                             lexical_block_12_26_8::num_bogus_warns + 1;\n                        in_stack_fffffee8 = (char *)pdVar12;\n                        if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                            lexical_block_12_26_8::num_bogus_warns == 3) {\n                          in_stack_fffffee8 =\n                               "Further warnings about bogus end-of-sibling markers suppressed\n";\n                          pcVar13 = (char *)dcgettext(0,\n                                                  "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                                  ,5);\n                          warn(pcVar13);\n                        }\n                      }\n                    }\n                    else {\n                      pdVar9 = (dwarf_section *)((int)&local_d4[-1].user_data + 3);\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         (((int)local_d4 < dwarf_cutoff_level || (dwarf_cutoff_level == -1))))\n                      goto LAB_00057496;\n                      local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      if ((int)pdVar9 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = pdVar9;\n                    if ((dwarf_start_die != 0) && ((int)pdVar9 < (int)local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (do_loc == 0) {\n                      if (dwarf_start_die != 0) {\n                        if (pdVar12 < dwarf_start_die) {\n                          bVar20 = false;\n                          iVar11 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if ((dwarf_section *)dwarf_start_die == pdVar12) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar20 = dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level;\n                      if (dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level) {\n                        in_stack_fffffee8 = " <%d><%lx>: Abbrev Number: %lu";\n                        pdVar9 = (dwarf_section *)0x5;\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar13,local_d4,pdVar12,uVar15);\n                        local_70 = local_d4;\n                        iVar11 = 1;\n                      }\n                      else if ((int)local_70 < dwarf_cutoff_level) {\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        pdVar9 = pdVar12;\n                        printf(pcVar13,local_d4,pdVar12);\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                    }\n                    else {\n                      bVar20 = false;\n                      iVar11 = do_loc;\n                    }\nLAB_0005783c:\n                    if (first_abbrev == (abbrev_entry *)0x0) {\nLAB_00057dbe:\n                      if (bVar20) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      pcVar13 = (char *)dcgettext(0,\n                                                  "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                                  ,5);\n                      warn(pcVar13,pdVar12,uVar15);\n                      return 0;\n                    }\n                    uVar3 = first_abbrev->entry;\n                    paVar4 = first_abbrev;\n                    while (uVar3 != uVar15) {\n                      paVar4 = paVar4->next;\n                      if (paVar4 == (abbrev_entry *)0x0) goto LAB_00057dbe;\n                      uVar3 = paVar4->entry;\n                    }\n                    uVar15 = paVar4->tag;\n                    if (bVar20) {\n                      puVar29 = (uchar *)0x57bcc;\n                      in_stack_fffffee8 = get_TAG_name(uVar15);\n                      printf(" (%s)\n",in_stack_fffffee8,pdVar9);\n                      uVar15 = paVar4->tag;\n                    }\n                    if (uVar15 == 0x11) {\n                      need_base_address = 1;\n                      need_dwo_info = do_loc;\n                    }\n                    else if ((uVar15 == 0x2e) || (uVar15 == 3)) {\n                      need_base_address = 0;\n                      have_frame_base = 0;\n                    }\n                    else {\n                      need_base_address = 0;\n                    }\n                    if (((debug_information == (debug_info *)0x0) ||\n                        (alloc_num_debug_info_entries <= local_a4)) ||\n                       (pdVar24 = debug_information + local_a4, pdVar24 == (debug_info *)0x0)) {\n                      paVar25 = paVar4->first_attr;\n                      if ((paVar25 != (abbrev_attr *)0x0) &&\n                         (pdVar24 = (debug_info *)0x0, paVar25->attribute != 0)) {\nLAB_000578fa:\n                        local_bc = ZEXT48(local_f0);\n                        do {\n                          if (bVar20) {\n                            printf("    <%lx>",(int)puVar16 - (int)puVar1);\n                          }\n                          uVar15 = paVar25->form;\n                          implicit_const = paVar25->implicit_const;\n                          uVar3 = paVar25->attribute;\n                          if (iVar11 == 1 && do_loc == 0) {\n                            puVar29 = (uchar *)0x579ff;\n                            in_stack_fffffee8 = get_AT_name(uVar3);\n                            printf("   %-18s:");\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,\n                                                 ' ');\n                            putchar(10);\n                            paVar25 = paVar25->next;\n                          }\n                          else {\n                            puVar29 = (uchar *)0x20;\n                            in_stack_fffffee8 = (char *)section;\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ');\n                            paVar25 = paVar25->next;\n                          }\n                        } while ((paVar25 != (abbrev_attr *)0x0) && (paVar25->attribute != 0));\n                        if (pdVar24 != (debug_info *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (pdVar24->num_loc_offsets != pdVar24->num_loc_views) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      paVar25 = paVar4->first_attr;\n                      if (paVar25 != (abbrev_attr *)0x0) {\n                        if (paVar25->attribute != 0) goto LAB_000578fa;\nLAB_00057a88:\n                        uVar14 = pdVar24->num_loc_offsets;\n                        uVar22 = pdVar24->num_loc_views;\n                        if (uVar14 - uVar22 == 1) {\n                          pdVar6 = pdVar24->loc_views;\n                          *(undefined4 *)(pdVar6 + uVar22) = 0xffffffff;\n                          *(undefined4 *)((int)pdVar6 + uVar22 * 8 + 4) = 0xffffffff;\n                          pdVar24->num_loc_views = uVar22 + 1;\n                          if (uVar22 + 1 != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (uVar14 != uVar22) {\n                          if (uVar14 - uVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          in_stack_fffffee8 = "DIE has locviews without loclist\n";\n                          pcVar13 = (char *)dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(pcVar13);\n                          pdVar24->num_loc_views = pdVar24->num_loc_views - 1;\n                        }\n                      }\n                    }\n                    local_d4 = (dwarf_section *)\n                               ((int)&local_d4->uncompressed_name + (uint)(paVar4->children != 0));\n                  }\n                } while (puVar16 < local_f4);\n              }\n            }\n            else {\n              in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n              pcVar13 = (char *)dcgettext(0,\n                                          "CU at offset %s contains corrupt or unsupported unit type: %d.\n"\n                                          ,5);\n              warn(pcVar13,in_stack_fffffee8,local_b4);\n            }\n          }\n          else {\n            in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n            pcVar13 = (char *)dcgettext(0,\n                                        "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                                        ,5);\n            warn(pcVar13,in_stack_fffffee8,(uint)local_e2);\n          }\n        }" else (compound_statement "{\n          if (do_loc == 0) {\n            if ((do_debug_loc != 0 || do_debug_ranges != 0) && (num_debug_info_entries == 0)) {\nLAB_00056993:\n              if (do_types == 0) {\n                pdVar24 = debug_information + local_a4;\n                pdVar24->pointer_size = (uint)bVar8;\n                *(int *)((int)&pdVar24->cu_offset + 4) = iVar11;\n                *(uint *)&pdVar24->cu_offset = uVar10;\n                pdVar24->offset_size = (uint)local_f0;\n                pdVar24->dwarf_version = (uint)local_e2;\n                *(undefined4 *)&pdVar24->base_address = 0;\n                *(undefined4 *)((int)&pdVar24->base_address + 4) = 0;\n                *(undefined4 *)&pdVar24->addr_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->addr_base + 4) = 0;\n                *(undefined4 *)&pdVar24->ranges_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->ranges_base + 4) = 0;\n                pdVar24->loc_offsets = (dwarf_vma *)0x0;\n                pdVar24->have_frame_base = (int *)0x0;\n                pdVar24->max_loc_offsets = 0;\n                pdVar24->num_loc_offsets = 0;\n                pdVar24->range_lists = (dwarf_vma *)0x0;\n                pdVar24->max_range_lists = 0;\n                pdVar24->num_range_lists = 0;\n              }\n              if (do_loc != 0) goto LAB_00056a44;\n            }\n            if (uVar15 == 0) {\n              pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n              pcVar13 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar13);\n              pcVar13 = "64-bit";\n              if (local_f0 != (dwarf_section *)0x8) {\n                pcVar13 = "32-bit";\n              }\n              pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar17) << 0x20,(uint)local_ec);\n              pcVar19 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar19,pcVar17,pcVar13);\n              pcVar13 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              uVar22 = (uint)local_e2;\n              printf(pcVar13);\n              pcVar13 = dwarf_vmatoa_1("x",(ulonglong)uVar22 << 0x20,(uint)local_b0);\n              pcVar17 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar17,pcVar13);\n              pcVar13 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              in_stack_fffffee8 = (char *)(uint)bVar8;\n              printf(pcVar13);\n              if (do_types != 0) {\n                pcVar13 = dwarf_vmatoa64(CONCAT44(signature_low._4_4_,(undefined4)signature_low),\n                                         CONCAT44(puVar29,buf),(char *)signature_high,\n                                         signature_high._4_4_);\n                pcVar17 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar17);\n                in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)local_bc);\n                pcVar13 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar13);\n              }\n              if (this_set != (cu_tu_set *)0x0) {\n                pcVar13 = "   Section contributions:\n";\n                pcVar17 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[3]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[3]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[4]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[4]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[5]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[5]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[6]);\n                in_stack_fffffee8 =\n                     dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)this_set->section_offsets[6]);\n                pcVar13 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar13,in_stack_fffffee8,pcVar17);\n              }\n            }\n          }\n          else if (num_debug_info_entries == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar22 = local_ec._4_4_ + (uint)CARRY4((uint)local_ec,uVar14);\n          if ((uVar22 < ((uint)local_ec + uVar14 < uVar14)) ||\n             (uVar2 = *(uint *)((int)&section->size + 4),\n             uVar2 < uVar22 ||\n             uVar2 - uVar22 < (uint)((uint)section->size < (uint)local_ec + uVar14))) {\n            pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,(uint)local_ec);\n            pcVar13 = section->name;\n            pcVar19 = (char *)dcgettext(0,\n                                        "Debug info is corrupted, %s header at %#lx has length %s\n"\n                                        ,5);\n            warn(pcVar19,pcVar13,uVar10,pcVar17);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + (int)local_d4 + (uint)local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              puVar29 = (uchar *)0x572c5;\n              free_abbrevs();\n              if (local_a0 < (local_b0 < local_ac)) {\n                iVar11 = abbrev_sec * 0x40;\n                pcVar13 = *(char **)(&DAT_000b485c + iVar11);\n                pdVar9 = (dwarf_section *)((int)&local_ac->uncompressed_name + local_9c);\n                uVar14 = local_98 + (uint)CARRY4((uint)local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + iVar11) < uVar14 ||\n                    *(uint *)(&DAT_000b4860 + iVar11) - uVar14 <\n                    (uint)(pcVar13 < (char *)((int)&local_ac->uncompressed_name + local_9c))) {\n                  pcVar17 = (char *)dcgettext(0,\n                                              "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                              ,5);\n                  warn(pcVar17,pdVar9,pcVar13);\n                  in_stack_fffffee8 = (char *)pdVar9;\n                }\n                else if (first_abbrev == (abbrev_entry *)0x0) {\n                  puVar29 = (uchar *)0x57341;\n                  process_abbrev_section\n                            ((uchar *)((int)&local_b0->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11) + local_9c),\n                             (uchar *)((int)&pdVar9->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11)));\n                }\n              }\n              else {\n                pcVar13 = (char *)dcgettext(0,\n                                            "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                            ,5);\n                warn(pcVar13,local_b0,local_ac);\n                in_stack_fffffee8 = (char *)local_b0;\n              }\n              if (puVar16 < local_f4) {\n                local_78 = (dwarf_section *)0xffffffff;\n                local_70 = (dwarf_section *)0x0;\n                local_d4 = (dwarf_section *)0x0;\n                do {\n                  pdVar12 = (dwarf_section *)(puVar16 + -(int)puVar1);\n                  pdVar9 = (dwarf_section *)0x0;\n                  in_stack_fffffee8 = buf;\n                  puVar29 = local_f4;\n                  dVar28 = read_leb128(puVar16,(uint *)buf,0,local_f4);\n                  uVar15 = (ulong)dVar28;\n                  puVar16 = puVar16 + buf._0_4_;\n                  if (uVar15 == 0) {\n                    if ((local_d4 == (dwarf_section *)0x0) && (end == local_f4)) {\n                      puVar18 = puVar16;\n                      if (puVar16 < local_f4) {\n                        while (*puVar18 == '\0') {\n                          puVar18 = puVar18 + 1;\n                          if (local_f4 == puVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == puVar16) break;\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         ((0 < dwarf_cutoff_level || (dwarf_cutoff_level == -1)))) {\n                        pdVar9 = (dwarf_section *)0xffffffff;\nLAB_00057496:\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar13,local_d4,pdVar12);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        if (-1 < (int)pdVar9) goto LAB_00057428;\n                      }\n                      else {\n                        pdVar9 = (dwarf_section *)0xffffffff;\n                        local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      }\nLAB_000574d0:\n                      in_stack_fffffee8 = (char *)local_d4;\n                      if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                          lexical_block_12_26_8::num_bogus_warns < 3) {\n                        pcVar13 = section->name;\n                        pcVar17 = (char *)dcgettext(0,\n                                                  "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                                  ,5);\n                        warn(pcVar17,pdVar12,pcVar13);\n                        process_debug_info::lexical_block_12::lexical_block_12_26::\n                        lexical_block_12_26_8::num_bogus_warns =\n                             process_debug_info::lexical_block_12::lexical_block_12_26::\n                             lexical_block_12_26_8::num_bogus_warns + 1;\n                        in_stack_fffffee8 = (char *)pdVar12;\n                        if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                            lexical_block_12_26_8::num_bogus_warns == 3) {\n                          in_stack_fffffee8 =\n                               "Further warnings about bogus end-of-sibling markers suppressed\n";\n                          pcVar13 = (char *)dcgettext(0,\n                                                  "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                                  ,5);\n                          warn(pcVar13);\n                        }\n                      }\n                    }\n                    else {\n                      pdVar9 = (dwarf_section *)((int)&local_d4[-1].user_data + 3);\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         (((int)local_d4 < dwarf_cutoff_level || (dwarf_cutoff_level == -1))))\n                      goto LAB_00057496;\n                      local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      if ((int)pdVar9 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = pdVar9;\n                    if ((dwarf_start_die != 0) && ((int)pdVar9 < (int)local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (do_loc == 0) {\n                      if (dwarf_start_die != 0) {\n                        if (pdVar12 < dwarf_start_die) {\n                          bVar20 = false;\n                          iVar11 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if ((dwarf_section *)dwarf_start_die == pdVar12) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar20 = dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level;\n                      if (dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level) {\n                        in_stack_fffffee8 = " <%d><%lx>: Abbrev Number: %lu";\n                        pdVar9 = (dwarf_section *)0x5;\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar13,local_d4,pdVar12,uVar15);\n                        local_70 = local_d4;\n                        iVar11 = 1;\n                      }\n                      else if ((int)local_70 < dwarf_cutoff_level) {\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        pdVar9 = pdVar12;\n                        printf(pcVar13,local_d4,pdVar12);\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                    }\n                    else {\n                      bVar20 = false;\n                      iVar11 = do_loc;\n                    }\nLAB_0005783c:\n                    if (first_abbrev == (abbrev_entry *)0x0) {\nLAB_00057dbe:\n                      if (bVar20) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      pcVar13 = (char *)dcgettext(0,\n                                                  "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                                  ,5);\n                      warn(pcVar13,pdVar12,uVar15);\n                      return 0;\n                    }\n                    uVar3 = first_abbrev->entry;\n                    paVar4 = first_abbrev;\n                    while (uVar3 != uVar15) {\n                      paVar4 = paVar4->next;\n                      if (paVar4 == (abbrev_entry *)0x0) goto LAB_00057dbe;\n                      uVar3 = paVar4->entry;\n                    }\n                    uVar15 = paVar4->tag;\n                    if (bVar20) {\n                      puVar29 = (uchar *)0x57bcc;\n                      in_stack_fffffee8 = get_TAG_name(uVar15);\n                      printf(" (%s)\n",in_stack_fffffee8,pdVar9);\n                      uVar15 = paVar4->tag;\n                    }\n                    if (uVar15 == 0x11) {\n                      need_base_address = 1;\n                      need_dwo_info = do_loc;\n                    }\n                    else if ((uVar15 == 0x2e) || (uVar15 == 3)) {\n                      need_base_address = 0;\n                      have_frame_base = 0;\n                    }\n                    else {\n                      need_base_address = 0;\n                    }\n                    if (((debug_information == (debug_info *)0x0) ||\n                        (alloc_num_debug_info_entries <= local_a4)) ||\n                       (pdVar24 = debug_information + local_a4, pdVar24 == (debug_info *)0x0)) {\n                      paVar25 = paVar4->first_attr;\n                      if ((paVar25 != (abbrev_attr *)0x0) &&\n                         (pdVar24 = (debug_info *)0x0, paVar25->attribute != 0)) {\nLAB_000578fa:\n                        local_bc = ZEXT48(local_f0);\n                        do {\n                          if (bVar20) {\n                            printf("    <%lx>",(int)puVar16 - (int)puVar1);\n                          }\n                          uVar15 = paVar25->form;\n                          implicit_const = paVar25->implicit_const;\n                          uVar3 = paVar25->attribute;\n                          if (iVar11 == 1 && do_loc == 0) {\n                            puVar29 = (uchar *)0x579ff;\n                            in_stack_fffffee8 = get_AT_name(uVar3);\n                            printf("   %-18s:");\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,\n                                                 ' ');\n                            putchar(10);\n                            paVar25 = paVar25->next;\n                          }\n                          else {\n                            puVar29 = (uchar *)0x20;\n                            in_stack_fffffee8 = (char *)section;\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ');\n                            paVar25 = paVar25->next;\n                          }\n                        } while ((paVar25 != (abbrev_attr *)0x0) && (paVar25->attribute != 0));\n                        if (pdVar24 != (debug_info *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (pdVar24->num_loc_offsets != pdVar24->num_loc_views) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      paVar25 = paVar4->first_attr;\n                      if (paVar25 != (abbrev_attr *)0x0) {\n                        if (paVar25->attribute != 0) goto LAB_000578fa;\nLAB_00057a88:\n                        uVar14 = pdVar24->num_loc_offsets;\n                        uVar22 = pdVar24->num_loc_views;\n                        if (uVar14 - uVar22 == 1) {\n                          pdVar6 = pdVar24->loc_views;\n                          *(undefined4 *)(pdVar6 + uVar22) = 0xffffffff;\n                          *(undefined4 *)((int)pdVar6 + uVar22 * 8 + 4) = 0xffffffff;\n                          pdVar24->num_loc_views = uVar22 + 1;\n                          if (uVar22 + 1 != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (uVar14 != uVar22) {\n                          if (uVar14 - uVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          in_stack_fffffee8 = "DIE has locviews without loclist\n";\n                          pcVar13 = (char *)dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(pcVar13);\n                          pdVar24->num_loc_views = pdVar24->num_loc_views - 1;\n                        }\n                      }\n                    }\n                    local_d4 = (dwarf_section *)\n                               ((int)&local_d4->uncompressed_name + (uint)(paVar4->children != 0));\n                  }\n                } while (puVar16 < local_f4);\n              }\n            }\n            else {\n              in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n              pcVar13 = (char *)dcgettext(0,\n                                          "CU at offset %s contains corrupt or unsupported unit type: %d.\n"\n                                          ,5);\n              warn(pcVar13,in_stack_fffffee8,local_b4);\n            }\n          }\n          else {\n            in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n            pcVar13 = (char *)dcgettext(0,\n                                        "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                                        ,5);\n            warn(pcVar13,in_stack_fffffee8,(uint)local_e2);\n          }\n        }" { (if_statement "if (do_loc == 0) {\n            if ((do_debug_loc != 0 || do_debug_ranges != 0) && (num_debug_info_entries == 0)) {\nLAB_00056993:\n              if (do_types == 0) {\n                pdVar24 = debug_information + local_a4;\n                pdVar24->pointer_size = (uint)bVar8;\n                *(int *)((int)&pdVar24->cu_offset + 4) = iVar11;\n                *(uint *)&pdVar24->cu_offset = uVar10;\n                pdVar24->offset_size = (uint)local_f0;\n                pdVar24->dwarf_version = (uint)local_e2;\n                *(undefined4 *)&pdVar24->base_address = 0;\n                *(undefined4 *)((int)&pdVar24->base_address + 4) = 0;\n                *(undefined4 *)&pdVar24->addr_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->addr_base + 4) = 0;\n                *(undefined4 *)&pdVar24->ranges_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->ranges_base + 4) = 0;\n                pdVar24->loc_offsets = (dwarf_vma *)0x0;\n                pdVar24->have_frame_base = (int *)0x0;\n                pdVar24->max_loc_offsets = 0;\n                pdVar24->num_loc_offsets = 0;\n                pdVar24->range_lists = (dwarf_vma *)0x0;\n                pdVar24->max_range_lists = 0;\n                pdVar24->num_range_lists = 0;\n              }\n              if (do_loc != 0) goto LAB_00056a44;\n            }\n            if (uVar15 == 0) {\n              pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n              pcVar13 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar13);\n              pcVar13 = "64-bit";\n              if (local_f0 != (dwarf_section *)0x8) {\n                pcVar13 = "32-bit";\n              }\n              pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar17) << 0x20,(uint)local_ec);\n              pcVar19 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar19,pcVar17,pcVar13);\n              pcVar13 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              uVar22 = (uint)local_e2;\n              printf(pcVar13);\n              pcVar13 = dwarf_vmatoa_1("x",(ulonglong)uVar22 << 0x20,(uint)local_b0);\n              pcVar17 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar17,pcVar13);\n              pcVar13 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              in_stack_fffffee8 = (char *)(uint)bVar8;\n              printf(pcVar13);\n              if (do_types != 0) {\n                pcVar13 = dwarf_vmatoa64(CONCAT44(signature_low._4_4_,(undefined4)signature_low),\n                                         CONCAT44(puVar29,buf),(char *)signature_high,\n                                         signature_high._4_4_);\n                pcVar17 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar17);\n                in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)local_bc);\n                pcVar13 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar13);\n              }\n              if (this_set != (cu_tu_set *)0x0) {\n                pcVar13 = "   Section contributions:\n";\n                pcVar17 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[3]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[3]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[4]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[4]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[5]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[5]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[6]);\n                in_stack_fffffee8 =\n                     dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)this_set->section_offsets[6]);\n                pcVar13 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar13,in_stack_fffffee8,pcVar17);\n              }\n            }\n          }\n          else if (num_debug_info_entries == 0) goto LAB_00056993;" if (parenthesized_expression "(do_loc == 0)" ( (binary_expression "do_loc == 0" identifier == number_literal) )) (compound_statement "{\n            if ((do_debug_loc != 0 || do_debug_ranges != 0) && (num_debug_info_entries == 0)) {\nLAB_00056993:\n              if (do_types == 0) {\n                pdVar24 = debug_information + local_a4;\n                pdVar24->pointer_size = (uint)bVar8;\n                *(int *)((int)&pdVar24->cu_offset + 4) = iVar11;\n                *(uint *)&pdVar24->cu_offset = uVar10;\n                pdVar24->offset_size = (uint)local_f0;\n                pdVar24->dwarf_version = (uint)local_e2;\n                *(undefined4 *)&pdVar24->base_address = 0;\n                *(undefined4 *)((int)&pdVar24->base_address + 4) = 0;\n                *(undefined4 *)&pdVar24->addr_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->addr_base + 4) = 0;\n                *(undefined4 *)&pdVar24->ranges_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->ranges_base + 4) = 0;\n                pdVar24->loc_offsets = (dwarf_vma *)0x0;\n                pdVar24->have_frame_base = (int *)0x0;\n                pdVar24->max_loc_offsets = 0;\n                pdVar24->num_loc_offsets = 0;\n                pdVar24->range_lists = (dwarf_vma *)0x0;\n                pdVar24->max_range_lists = 0;\n                pdVar24->num_range_lists = 0;\n              }\n              if (do_loc != 0) goto LAB_00056a44;\n            }\n            if (uVar15 == 0) {\n              pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n              pcVar13 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar13);\n              pcVar13 = "64-bit";\n              if (local_f0 != (dwarf_section *)0x8) {\n                pcVar13 = "32-bit";\n              }\n              pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar17) << 0x20,(uint)local_ec);\n              pcVar19 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar19,pcVar17,pcVar13);\n              pcVar13 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              uVar22 = (uint)local_e2;\n              printf(pcVar13);\n              pcVar13 = dwarf_vmatoa_1("x",(ulonglong)uVar22 << 0x20,(uint)local_b0);\n              pcVar17 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar17,pcVar13);\n              pcVar13 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              in_stack_fffffee8 = (char *)(uint)bVar8;\n              printf(pcVar13);\n              if (do_types != 0) {\n                pcVar13 = dwarf_vmatoa64(CONCAT44(signature_low._4_4_,(undefined4)signature_low),\n                                         CONCAT44(puVar29,buf),(char *)signature_high,\n                                         signature_high._4_4_);\n                pcVar17 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar17);\n                in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)local_bc);\n                pcVar13 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar13);\n              }\n              if (this_set != (cu_tu_set *)0x0) {\n                pcVar13 = "   Section contributions:\n";\n                pcVar17 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[3]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[3]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[4]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[4]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[5]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[5]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[6]);\n                in_stack_fffffee8 =\n                     dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)this_set->section_offsets[6]);\n                pcVar13 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar13,in_stack_fffffee8,pcVar17);\n              }\n            }\n          }" { (if_statement "if ((do_debug_loc != 0 || do_debug_ranges != 0) && (num_debug_info_entries == 0)) {\nLAB_00056993:\n              if (do_types == 0) {\n                pdVar24 = debug_information + local_a4;\n                pdVar24->pointer_size = (uint)bVar8;\n                *(int *)((int)&pdVar24->cu_offset + 4) = iVar11;\n                *(uint *)&pdVar24->cu_offset = uVar10;\n                pdVar24->offset_size = (uint)local_f0;\n                pdVar24->dwarf_version = (uint)local_e2;\n                *(undefined4 *)&pdVar24->base_address = 0;\n                *(undefined4 *)((int)&pdVar24->base_address + 4) = 0;\n                *(undefined4 *)&pdVar24->addr_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->addr_base + 4) = 0;\n                *(undefined4 *)&pdVar24->ranges_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->ranges_base + 4) = 0;\n                pdVar24->loc_offsets = (dwarf_vma *)0x0;\n                pdVar24->have_frame_base = (int *)0x0;\n                pdVar24->max_loc_offsets = 0;\n                pdVar24->num_loc_offsets = 0;\n                pdVar24->range_lists = (dwarf_vma *)0x0;\n                pdVar24->max_range_lists = 0;\n                pdVar24->num_range_lists = 0;\n              }\n              if (do_loc != 0) goto LAB_00056a44;\n            }" if (parenthesized_expression "((do_debug_loc != 0 || do_debug_ranges != 0) && (num_debug_info_entries == 0))" ( (binary_expression "(do_debug_loc != 0 || do_debug_ranges != 0) && (num_debug_info_entries == 0)" (parenthesized_expression "(do_debug_loc != 0 || do_debug_ranges != 0)" ( (binary_expression "do_debug_loc != 0 || do_debug_ranges != 0" (binary_expression "do_debug_loc != 0" identifier != number_literal) || (binary_expression "do_debug_ranges != 0" identifier != number_literal)) )) && (parenthesized_expression "(num_debug_info_entries == 0)" ( (binary_expression "num_debug_info_entries == 0" identifier == number_literal) ))) )) (compound_statement "{\nLAB_00056993:\n              if (do_types == 0) {\n                pdVar24 = debug_information + local_a4;\n                pdVar24->pointer_size = (uint)bVar8;\n                *(int *)((int)&pdVar24->cu_offset + 4) = iVar11;\n                *(uint *)&pdVar24->cu_offset = uVar10;\n                pdVar24->offset_size = (uint)local_f0;\n                pdVar24->dwarf_version = (uint)local_e2;\n                *(undefined4 *)&pdVar24->base_address = 0;\n                *(undefined4 *)((int)&pdVar24->base_address + 4) = 0;\n                *(undefined4 *)&pdVar24->addr_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->addr_base + 4) = 0;\n                *(undefined4 *)&pdVar24->ranges_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->ranges_base + 4) = 0;\n                pdVar24->loc_offsets = (dwarf_vma *)0x0;\n                pdVar24->have_frame_base = (int *)0x0;\n                pdVar24->max_loc_offsets = 0;\n                pdVar24->num_loc_offsets = 0;\n                pdVar24->range_lists = (dwarf_vma *)0x0;\n                pdVar24->max_range_lists = 0;\n                pdVar24->num_range_lists = 0;\n              }\n              if (do_loc != 0) goto LAB_00056a44;\n            }" { (labeled_statement "LAB_00056993:\n              if (do_types == 0) {\n                pdVar24 = debug_information + local_a4;\n                pdVar24->pointer_size = (uint)bVar8;\n                *(int *)((int)&pdVar24->cu_offset + 4) = iVar11;\n                *(uint *)&pdVar24->cu_offset = uVar10;\n                pdVar24->offset_size = (uint)local_f0;\n                pdVar24->dwarf_version = (uint)local_e2;\n                *(undefined4 *)&pdVar24->base_address = 0;\n                *(undefined4 *)((int)&pdVar24->base_address + 4) = 0;\n                *(undefined4 *)&pdVar24->addr_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->addr_base + 4) = 0;\n                *(undefined4 *)&pdVar24->ranges_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->ranges_base + 4) = 0;\n                pdVar24->loc_offsets = (dwarf_vma *)0x0;\n                pdVar24->have_frame_base = (int *)0x0;\n                pdVar24->max_loc_offsets = 0;\n                pdVar24->num_loc_offsets = 0;\n                pdVar24->range_lists = (dwarf_vma *)0x0;\n                pdVar24->max_range_lists = 0;\n                pdVar24->num_range_lists = 0;\n              }" statement_identifier : (if_statement "if (do_types == 0) {\n                pdVar24 = debug_information + local_a4;\n                pdVar24->pointer_size = (uint)bVar8;\n                *(int *)((int)&pdVar24->cu_offset + 4) = iVar11;\n                *(uint *)&pdVar24->cu_offset = uVar10;\n                pdVar24->offset_size = (uint)local_f0;\n                pdVar24->dwarf_version = (uint)local_e2;\n                *(undefined4 *)&pdVar24->base_address = 0;\n                *(undefined4 *)((int)&pdVar24->base_address + 4) = 0;\n                *(undefined4 *)&pdVar24->addr_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->addr_base + 4) = 0;\n                *(undefined4 *)&pdVar24->ranges_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->ranges_base + 4) = 0;\n                pdVar24->loc_offsets = (dwarf_vma *)0x0;\n                pdVar24->have_frame_base = (int *)0x0;\n                pdVar24->max_loc_offsets = 0;\n                pdVar24->num_loc_offsets = 0;\n                pdVar24->range_lists = (dwarf_vma *)0x0;\n                pdVar24->max_range_lists = 0;\n                pdVar24->num_range_lists = 0;\n              }" if (parenthesized_expression "(do_types == 0)" ( (binary_expression "do_types == 0" identifier == number_literal) )) (compound_statement "{\n                pdVar24 = debug_information + local_a4;\n                pdVar24->pointer_size = (uint)bVar8;\n                *(int *)((int)&pdVar24->cu_offset + 4) = iVar11;\n                *(uint *)&pdVar24->cu_offset = uVar10;\n                pdVar24->offset_size = (uint)local_f0;\n                pdVar24->dwarf_version = (uint)local_e2;\n                *(undefined4 *)&pdVar24->base_address = 0;\n                *(undefined4 *)((int)&pdVar24->base_address + 4) = 0;\n                *(undefined4 *)&pdVar24->addr_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->addr_base + 4) = 0;\n                *(undefined4 *)&pdVar24->ranges_base = 0xffffffff;\n                *(undefined4 *)((int)&pdVar24->ranges_base + 4) = 0;\n                pdVar24->loc_offsets = (dwarf_vma *)0x0;\n                pdVar24->have_frame_base = (int *)0x0;\n                pdVar24->max_loc_offsets = 0;\n                pdVar24->num_loc_offsets = 0;\n                pdVar24->range_lists = (dwarf_vma *)0x0;\n                pdVar24->max_range_lists = 0;\n                pdVar24->num_range_lists = 0;\n              }" { (expression_statement "pdVar24 = debug_information + local_a4;" (assignment_expression "pdVar24 = debug_information + local_a4" identifier = (binary_expression "debug_information + local_a4" identifier + identifier)) ;) (expression_statement "pdVar24->pointer_size = (uint)bVar8;" (assignment_expression "pdVar24->pointer_size = (uint)bVar8" (field_expression "pdVar24->pointer_size" identifier -> field_identifier) = (cast_expression "(uint)bVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*(int *)((int)&pdVar24->cu_offset + 4) = iVar11;" (assignment_expression "*(int *)((int)&pdVar24->cu_offset + 4) = iVar11" (pointer_expression "*(int *)((int)&pdVar24->cu_offset + 4)" * (cast_expression "(int *)((int)&pdVar24->cu_offset + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pdVar24->cu_offset + 4)" ( (binary_expression "(int)&pdVar24->cu_offset + 4" (cast_expression "(int)&pdVar24->cu_offset" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pdVar24->cu_offset" & (field_expression "pdVar24->cu_offset" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)&pdVar24->cu_offset = uVar10;" (assignment_expression "*(uint *)&pdVar24->cu_offset = uVar10" (pointer_expression "*(uint *)&pdVar24->cu_offset" * (cast_expression "(uint *)&pdVar24->cu_offset" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pdVar24->cu_offset" & (field_expression "pdVar24->cu_offset" identifier -> field_identifier)))) = identifier) ;) (expression_statement "pdVar24->offset_size = (uint)local_f0;" (assignment_expression "pdVar24->offset_size = (uint)local_f0" (field_expression "pdVar24->offset_size" identifier -> field_identifier) = (cast_expression "(uint)local_f0" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pdVar24->dwarf_version = (uint)local_e2;" (assignment_expression "pdVar24->dwarf_version = (uint)local_e2" (field_expression "pdVar24->dwarf_version" identifier -> field_identifier) = (cast_expression "(uint)local_e2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*(undefined4 *)&pdVar24->base_address = 0;" (assignment_expression "*(undefined4 *)&pdVar24->base_address = 0" (pointer_expression "*(undefined4 *)&pdVar24->base_address" * (cast_expression "(undefined4 *)&pdVar24->base_address" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pdVar24->base_address" & (field_expression "pdVar24->base_address" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&pdVar24->base_address + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&pdVar24->base_address + 4) = 0" (pointer_expression "*(undefined4 *)((int)&pdVar24->base_address + 4)" * (cast_expression "(undefined4 *)((int)&pdVar24->base_address + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pdVar24->base_address + 4)" ( (binary_expression "(int)&pdVar24->base_address + 4" (cast_expression "(int)&pdVar24->base_address" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pdVar24->base_address" & (field_expression "pdVar24->base_address" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&pdVar24->addr_base = 0xffffffff;" (assignment_expression "*(undefined4 *)&pdVar24->addr_base = 0xffffffff" (pointer_expression "*(undefined4 *)&pdVar24->addr_base" * (cast_expression "(undefined4 *)&pdVar24->addr_base" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pdVar24->addr_base" & (field_expression "pdVar24->addr_base" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&pdVar24->addr_base + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&pdVar24->addr_base + 4) = 0" (pointer_expression "*(undefined4 *)((int)&pdVar24->addr_base + 4)" * (cast_expression "(undefined4 *)((int)&pdVar24->addr_base + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pdVar24->addr_base + 4)" ( (binary_expression "(int)&pdVar24->addr_base + 4" (cast_expression "(int)&pdVar24->addr_base" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pdVar24->addr_base" & (field_expression "pdVar24->addr_base" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&pdVar24->ranges_base = 0xffffffff;" (assignment_expression "*(undefined4 *)&pdVar24->ranges_base = 0xffffffff" (pointer_expression "*(undefined4 *)&pdVar24->ranges_base" * (cast_expression "(undefined4 *)&pdVar24->ranges_base" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pdVar24->ranges_base" & (field_expression "pdVar24->ranges_base" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&pdVar24->ranges_base + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&pdVar24->ranges_base + 4) = 0" (pointer_expression "*(undefined4 *)((int)&pdVar24->ranges_base + 4)" * (cast_expression "(undefined4 *)((int)&pdVar24->ranges_base + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pdVar24->ranges_base + 4)" ( (binary_expression "(int)&pdVar24->ranges_base + 4" (cast_expression "(int)&pdVar24->ranges_base" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pdVar24->ranges_base" & (field_expression "pdVar24->ranges_base" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "pdVar24->loc_offsets = (dwarf_vma *)0x0;" (assignment_expression "pdVar24->loc_offsets = (dwarf_vma *)0x0" (field_expression "pdVar24->loc_offsets" identifier -> field_identifier) = (cast_expression "(dwarf_vma *)0x0" ( (type_descriptor "dwarf_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pdVar24->have_frame_base = (int *)0x0;" (assignment_expression "pdVar24->have_frame_base = (int *)0x0" (field_expression "pdVar24->have_frame_base" identifier -> field_identifier) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pdVar24->max_loc_offsets = 0;" (assignment_expression "pdVar24->max_loc_offsets = 0" (field_expression "pdVar24->max_loc_offsets" identifier -> field_identifier) = number_literal) ;) (expression_statement "pdVar24->num_loc_offsets = 0;" (assignment_expression "pdVar24->num_loc_offsets = 0" (field_expression "pdVar24->num_loc_offsets" identifier -> field_identifier) = number_literal) ;) (expression_statement "pdVar24->range_lists = (dwarf_vma *)0x0;" (assignment_expression "pdVar24->range_lists = (dwarf_vma *)0x0" (field_expression "pdVar24->range_lists" identifier -> field_identifier) = (cast_expression "(dwarf_vma *)0x0" ( (type_descriptor "dwarf_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pdVar24->max_range_lists = 0;" (assignment_expression "pdVar24->max_range_lists = 0" (field_expression "pdVar24->max_range_lists" identifier -> field_identifier) = number_literal) ;) (expression_statement "pdVar24->num_range_lists = 0;" (assignment_expression "pdVar24->num_range_lists = 0" (field_expression "pdVar24->num_range_lists" identifier -> field_identifier) = number_literal) ;) }))) (if_statement "if (do_loc != 0) goto LAB_00056a44;" if (parenthesized_expression "(do_loc != 0)" ( (binary_expression "do_loc != 0" identifier != number_literal) )) (goto_statement "goto LAB_00056a44;" goto statement_identifier ;)) })) (if_statement "if (uVar15 == 0) {\n              pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n              pcVar13 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar13);\n              pcVar13 = "64-bit";\n              if (local_f0 != (dwarf_section *)0x8) {\n                pcVar13 = "32-bit";\n              }\n              pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar17) << 0x20,(uint)local_ec);\n              pcVar19 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar19,pcVar17,pcVar13);\n              pcVar13 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              uVar22 = (uint)local_e2;\n              printf(pcVar13);\n              pcVar13 = dwarf_vmatoa_1("x",(ulonglong)uVar22 << 0x20,(uint)local_b0);\n              pcVar17 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar17,pcVar13);\n              pcVar13 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              in_stack_fffffee8 = (char *)(uint)bVar8;\n              printf(pcVar13);\n              if (do_types != 0) {\n                pcVar13 = dwarf_vmatoa64(CONCAT44(signature_low._4_4_,(undefined4)signature_low),\n                                         CONCAT44(puVar29,buf),(char *)signature_high,\n                                         signature_high._4_4_);\n                pcVar17 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar17);\n                in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)local_bc);\n                pcVar13 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar13);\n              }\n              if (this_set != (cu_tu_set *)0x0) {\n                pcVar13 = "   Section contributions:\n";\n                pcVar17 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[3]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[3]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[4]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[4]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[5]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[5]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[6]);\n                in_stack_fffffee8 =\n                     dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)this_set->section_offsets[6]);\n                pcVar13 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar13,in_stack_fffffee8,pcVar17);\n              }\n            }" if (parenthesized_expression "(uVar15 == 0)" ( (binary_expression "uVar15 == 0" identifier == number_literal) )) (compound_statement "{\n              pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n              pcVar13 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar13);\n              pcVar13 = "64-bit";\n              if (local_f0 != (dwarf_section *)0x8) {\n                pcVar13 = "32-bit";\n              }\n              pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar17) << 0x20,(uint)local_ec);\n              pcVar19 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar19,pcVar17,pcVar13);\n              pcVar13 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              uVar22 = (uint)local_e2;\n              printf(pcVar13);\n              pcVar13 = dwarf_vmatoa_1("x",(ulonglong)uVar22 << 0x20,(uint)local_b0);\n              pcVar17 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar17,pcVar13);\n              pcVar13 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              in_stack_fffffee8 = (char *)(uint)bVar8;\n              printf(pcVar13);\n              if (do_types != 0) {\n                pcVar13 = dwarf_vmatoa64(CONCAT44(signature_low._4_4_,(undefined4)signature_low),\n                                         CONCAT44(puVar29,buf),(char *)signature_high,\n                                         signature_high._4_4_);\n                pcVar17 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar17);\n                in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)local_bc);\n                pcVar13 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar13);\n              }\n              if (this_set != (cu_tu_set *)0x0) {\n                pcVar13 = "   Section contributions:\n";\n                pcVar17 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[3]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[3]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[4]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[4]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[5]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[5]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[6]);\n                in_stack_fffffee8 =\n                     dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)this_set->section_offsets[6]);\n                pcVar13 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar13,in_stack_fffffee8,pcVar17);\n              }\n            }" { (expression_statement "pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);" (assignment_expression "pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10)" identifier = (call_expression "dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10)" identifier (argument_list "("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10)" ( (string_literal ""x"" " string_content ") , (binary_expression "ZEXT48(in_stack_fffffee8) << 0x20" (call_expression "ZEXT48(in_stack_fffffee8)" identifier (argument_list "(in_stack_fffffee8)" ( identifier ))) << number_literal) , identifier )))) ;) (expression_statement "pcVar13 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5)" identifier (argument_list "(0,"  Compilation Unit @ offset 0x%s:\n",5)" ( number_literal , (string_literal ""  Compilation Unit @ offset 0x%s:\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar13);" (call_expression "printf(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier ))) ;) (expression_statement "pcVar13 = "64-bit";" (assignment_expression "pcVar13 = "64-bit"" identifier = (string_literal ""64-bit"" " string_content ")) ;) (if_statement "if (local_f0 != (dwarf_section *)0x8) {\n                pcVar13 = "32-bit";\n              }" if (parenthesized_expression "(local_f0 != (dwarf_section *)0x8)" ( (binary_expression "local_f0 != (dwarf_section *)0x8" identifier != (cast_expression "(dwarf_section *)0x8" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                pcVar13 = "32-bit";\n              }" { (expression_statement "pcVar13 = "32-bit";" (assignment_expression "pcVar13 = "32-bit"" identifier = (string_literal ""32-bit"" " string_content ")) ;) })) (expression_statement "pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar17) << 0x20,(uint)local_ec);" (assignment_expression "pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar17) << 0x20,(uint)local_ec)" identifier = (call_expression "dwarf_vmatoa_1("x",ZEXT48(pcVar17) << 0x20,(uint)local_ec)" identifier (argument_list "("x",ZEXT48(pcVar17) << 0x20,(uint)local_ec)" ( (string_literal ""x"" " string_content ") , (binary_expression "ZEXT48(pcVar17) << 0x20" (call_expression "ZEXT48(pcVar17)" identifier (argument_list "(pcVar17)" ( identifier ))) << number_literal) , (cast_expression "(uint)local_ec" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "pcVar19 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);" (assignment_expression "pcVar19 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"   Length:        0x%s (%s)\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"   Length:        0x%s (%s)\n",5)" identifier (argument_list "(0,"   Length:        0x%s (%s)\n",5)" ( number_literal , (string_literal ""   Length:        0x%s (%s)\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar19,pcVar17,pcVar13);" (call_expression "printf(pcVar19,pcVar17,pcVar13)" identifier (argument_list "(pcVar19,pcVar17,pcVar13)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar13 = (char *)dcgettext(0,"   Version:       %d\n",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,"   Version:       %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"   Version:       %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"   Version:       %d\n",5)" identifier (argument_list "(0,"   Version:       %d\n",5)" ( number_literal , (string_literal ""   Version:       %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "uVar22 = (uint)local_e2;" (assignment_expression "uVar22 = (uint)local_e2" identifier = (cast_expression "(uint)local_e2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "printf(pcVar13);" (call_expression "printf(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier ))) ;) (expression_statement "pcVar13 = dwarf_vmatoa_1("x",(ulonglong)uVar22 << 0x20,(uint)local_b0);" (assignment_expression "pcVar13 = dwarf_vmatoa_1("x",(ulonglong)uVar22 << 0x20,(uint)local_b0)" identifier = (call_expression "dwarf_vmatoa_1("x",(ulonglong)uVar22 << 0x20,(uint)local_b0)" identifier (argument_list "("x",(ulonglong)uVar22 << 0x20,(uint)local_b0)" ( (string_literal ""x"" " string_content ") , (binary_expression "(ulonglong)uVar22 << 0x20" (cast_expression "(ulonglong)uVar22" ( (type_descriptor "ulonglong" type_identifier) ) identifier) << number_literal) , (cast_expression "(uint)local_b0" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "pcVar17 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);" (assignment_expression "pcVar17 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"   Abbrev Offset: 0x%s\n",5)" identifier (argument_list "(0,"   Abbrev Offset: 0x%s\n",5)" ( number_literal , (string_literal ""   Abbrev Offset: 0x%s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar17,pcVar13);" (call_expression "printf(pcVar17,pcVar13)" identifier (argument_list "(pcVar17,pcVar13)" ( identifier , identifier ))) ;) (expression_statement "pcVar13 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"   Pointer Size:  %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"   Pointer Size:  %d\n",5)" identifier (argument_list "(0,"   Pointer Size:  %d\n",5)" ( number_literal , (string_literal ""   Pointer Size:  %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "in_stack_fffffee8 = (char *)(uint)bVar8;" (assignment_expression "in_stack_fffffee8 = (char *)(uint)bVar8" identifier = (cast_expression "(char *)(uint)bVar8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar8" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "printf(pcVar13);" (call_expression "printf(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier ))) ;) (if_statement "if (do_types != 0) {\n                pcVar13 = dwarf_vmatoa64(CONCAT44(signature_low._4_4_,(undefined4)signature_low),\n                                         CONCAT44(puVar29,buf),(char *)signature_high,\n                                         signature_high._4_4_);\n                pcVar17 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar17);\n                in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)local_bc);\n                pcVar13 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar13);\n              }" if (parenthesized_expression "(do_types != 0)" ( (binary_expression "do_types != 0" identifier != number_literal) )) (compound_statement "{\n                pcVar13 = dwarf_vmatoa64(CONCAT44(signature_low._4_4_,(undefined4)signature_low),\n                                         CONCAT44(puVar29,buf),(char *)signature_high,\n                                         signature_high._4_4_);\n                pcVar17 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar17);\n                in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)local_bc);\n                pcVar13 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar13);\n              }" { (expression_statement "pcVar13 = dwarf_vmatoa64(CONCAT44(signature_low._4_4_,(undefined4)signature_low),\n                                         CONCAT44(puVar29,buf),(char *)signature_high,\n                                         signature_high._4_4_);" (assignment_expression "pcVar13 = dwarf_vmatoa64(CONCAT44(signature_low._4_4_,(undefined4)signature_low),\n                                         CONCAT44(puVar29,buf),(char *)signature_high,\n                                         signature_high._4_4_)" identifier = (call_expression "dwarf_vmatoa64(CONCAT44(signature_low._4_4_,(undefined4)signature_low),\n                                         CONCAT44(puVar29,buf),(char *)signature_high,\n                                         signature_high._4_4_)" identifier (argument_list "(CONCAT44(signature_low._4_4_,(undefined4)signature_low),\n                                         CONCAT44(puVar29,buf),(char *)signature_high,\n                                         signature_high._4_4_)" ( (call_expression "CONCAT44(signature_low._4_4_,(undefined4)signature_low)" identifier (argument_list "(signature_low._4_4_,(undefined4)signature_low)" ( (field_expression "signature_low._4_4_" identifier . field_identifier) , (cast_expression "(undefined4)signature_low" ( (type_descriptor "undefined4" type_identifier) ) identifier) ))) , (call_expression "CONCAT44(puVar29,buf)" identifier (argument_list "(puVar29,buf)" ( identifier , identifier ))) , (cast_expression "(char *)signature_high" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (field_expression "signature_high._4_4_" identifier . field_identifier) )))) ;) (expression_statement "pcVar17 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);" (assignment_expression "pcVar17 = (char *)dcgettext(0,"   Signature:     0x%s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"   Signature:     0x%s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"   Signature:     0x%s\n",5)" identifier (argument_list "(0,"   Signature:     0x%s\n",5)" ( number_literal , (string_literal ""   Signature:     0x%s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar17);" (call_expression "printf(pcVar17)" identifier (argument_list "(pcVar17)" ( identifier ))) ;) (expression_statement "in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)local_bc);" (assignment_expression "in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)local_bc)" identifier = (call_expression "dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)local_bc)" identifier (argument_list "("x",ZEXT48(pcVar13) << 0x20,(uint)local_bc)" ( (string_literal ""x"" " string_content ") , (binary_expression "ZEXT48(pcVar13) << 0x20" (call_expression "ZEXT48(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier ))) << number_literal) , (cast_expression "(uint)local_bc" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "pcVar13 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"   Type Offset:   0x%s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"   Type Offset:   0x%s\n",5)" identifier (argument_list "(0,"   Type Offset:   0x%s\n",5)" ( number_literal , (string_literal ""   Type Offset:   0x%s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar13);" (call_expression "printf(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier ))) ;) })) (if_statement "if (this_set != (cu_tu_set *)0x0) {\n                pcVar13 = "   Section contributions:\n";\n                pcVar17 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[3]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[3]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[4]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[4]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[5]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[5]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[6]);\n                in_stack_fffffee8 =\n                     dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)this_set->section_offsets[6]);\n                pcVar13 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar13,in_stack_fffffee8,pcVar17);\n              }" if (parenthesized_expression "(this_set != (cu_tu_set *)0x0)" ( (binary_expression "this_set != (cu_tu_set *)0x0" identifier != (cast_expression "(cu_tu_set *)0x0" ( (type_descriptor "cu_tu_set *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                pcVar13 = "   Section contributions:\n";\n                pcVar17 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[3]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[3]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[4]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[4]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[5]);\n                pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[5]);\n                pcVar19 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar19,pcVar13,pcVar17);\n                pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[6]);\n                in_stack_fffffee8 =\n                     dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)this_set->section_offsets[6]);\n                pcVar13 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar13,in_stack_fffffee8,pcVar17);\n              }" { (expression_statement "pcVar13 = "   Section contributions:\n";" (assignment_expression "pcVar13 = "   Section contributions:\n"" identifier = (string_literal ""   Section contributions:\n"" " string_content escape_sequence ")) ;) (expression_statement "pcVar17 = (char *)dcgettext(0,"   Section contributions:\n",5);" (assignment_expression "pcVar17 = (char *)dcgettext(0,"   Section contributions:\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"   Section contributions:\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"   Section contributions:\n",5)" identifier (argument_list "(0,"   Section contributions:\n",5)" ( number_literal , (string_literal ""   Section contributions:\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar17);" (call_expression "printf(pcVar17)" identifier (argument_list "(pcVar17)" ( identifier ))) ;) (expression_statement "pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[3]);" (assignment_expression "pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[3])" identifier = (call_expression "dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[3])" identifier (argument_list "("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[3])" ( (string_literal ""x"" " string_content ") , (binary_expression "ZEXT48(pcVar13) << 0x20" (call_expression "ZEXT48(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier ))) << number_literal) , (subscript_expression "this_set->section_sizes[3]" (field_expression "this_set->section_sizes" identifier -> field_identifier) [ number_literal ]) )))) ;) (expression_statement "pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[3]);" (assignment_expression "pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[3])" identifier = (call_expression "dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[3])" identifier (argument_list "("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[3])" ( (string_literal ""x"" " string_content ") , (binary_expression "ZEXT48(pcVar13) << 0x20" (call_expression "ZEXT48(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier ))) << number_literal) , (cast_expression "(uint)this_set->section_offsets[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "this_set->section_offsets[3]" (field_expression "this_set->section_offsets" identifier -> field_identifier) [ number_literal ])) )))) ;) (expression_statement "pcVar19 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);" (assignment_expression "pcVar19 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5)" identifier (argument_list "(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5)" ( number_literal , (string_literal ""    .debug_abbrev.dwo:       0x%s  0x%s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar19,pcVar13,pcVar17);" (call_expression "printf(pcVar19,pcVar13,pcVar17)" identifier (argument_list "(pcVar19,pcVar13,pcVar17)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[4]);" (assignment_expression "pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[4])" identifier = (call_expression "dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[4])" identifier (argument_list "("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[4])" ( (string_literal ""x"" " string_content ") , (binary_expression "ZEXT48(pcVar13) << 0x20" (call_expression "ZEXT48(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier ))) << number_literal) , (subscript_expression "this_set->section_sizes[4]" (field_expression "this_set->section_sizes" identifier -> field_identifier) [ number_literal ]) )))) ;) (expression_statement "pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[4]);" (assignment_expression "pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[4])" identifier = (call_expression "dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[4])" identifier (argument_list "("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[4])" ( (string_literal ""x"" " string_content ") , (binary_expression "ZEXT48(pcVar13) << 0x20" (call_expression "ZEXT48(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier ))) << number_literal) , (cast_expression "(uint)this_set->section_offsets[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "this_set->section_offsets[4]" (field_expression "this_set->section_offsets" identifier -> field_identifier) [ number_literal ])) )))) ;) (expression_statement "pcVar19 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);" (assignment_expression "pcVar19 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5)" identifier (argument_list "(0,"    .debug_line.dwo:         0x%s  0x%s\n",5)" ( number_literal , (string_literal ""    .debug_line.dwo:         0x%s  0x%s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar19,pcVar13,pcVar17);" (call_expression "printf(pcVar19,pcVar13,pcVar17)" identifier (argument_list "(pcVar19,pcVar13,pcVar17)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[5]);" (assignment_expression "pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[5])" identifier = (call_expression "dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[5])" identifier (argument_list "("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[5])" ( (string_literal ""x"" " string_content ") , (binary_expression "ZEXT48(pcVar13) << 0x20" (call_expression "ZEXT48(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier ))) << number_literal) , (subscript_expression "this_set->section_sizes[5]" (field_expression "this_set->section_sizes" identifier -> field_identifier) [ number_literal ]) )))) ;) (expression_statement "pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[5]);" (assignment_expression "pcVar13 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[5])" identifier = (call_expression "dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[5])" identifier (argument_list "("x",ZEXT48(pcVar13) << 0x20,\n                                         (uint)this_set->section_offsets[5])" ( (string_literal ""x"" " string_content ") , (binary_expression "ZEXT48(pcVar13) << 0x20" (call_expression "ZEXT48(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier ))) << number_literal) , (cast_expression "(uint)this_set->section_offsets[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "this_set->section_offsets[5]" (field_expression "this_set->section_offsets" identifier -> field_identifier) [ number_literal ])) )))) ;) (expression_statement "pcVar19 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);" (assignment_expression "pcVar19 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5)" identifier (argument_list "(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5)" ( number_literal , (string_literal ""    .debug_loc.dwo:          0x%s  0x%s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar19,pcVar13,pcVar17);" (call_expression "printf(pcVar19,pcVar13,pcVar17)" identifier (argument_list "(pcVar19,pcVar13,pcVar17)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[6]);" (assignment_expression "pcVar17 = dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[6])" identifier = (call_expression "dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[6])" identifier (argument_list "("x",ZEXT48(pcVar13) << 0x20,this_set->section_sizes[6])" ( (string_literal ""x"" " string_content ") , (binary_expression "ZEXT48(pcVar13) << 0x20" (call_expression "ZEXT48(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier ))) << number_literal) , (subscript_expression "this_set->section_sizes[6]" (field_expression "this_set->section_sizes" identifier -> field_identifier) [ number_literal ]) )))) ;) (expression_statement "in_stack_fffffee8 =\n                     dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)this_set->section_offsets[6]);" (assignment_expression "in_stack_fffffee8 =\n                     dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)this_set->section_offsets[6])" identifier = (call_expression "dwarf_vmatoa_1("x",ZEXT48(pcVar13) << 0x20,(uint)this_set->section_offsets[6])" identifier (argument_list "("x",ZEXT48(pcVar13) << 0x20,(uint)this_set->section_offsets[6])" ( (string_literal ""x"" " string_content ") , (binary_expression "ZEXT48(pcVar13) << 0x20" (call_expression "ZEXT48(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier ))) << number_literal) , (cast_expression "(uint)this_set->section_offsets[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "this_set->section_offsets[6]" (field_expression "this_set->section_offsets" identifier -> field_identifier) [ number_literal ])) )))) ;) (expression_statement "pcVar13 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5)" identifier (argument_list "(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5)" ( number_literal , (string_literal ""    .debug_str_offsets.dwo:  0x%s  0x%s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar13,in_stack_fffffee8,pcVar17);" (call_expression "printf(pcVar13,in_stack_fffffee8,pcVar17)" identifier (argument_list "(pcVar13,in_stack_fffffee8,pcVar17)" ( identifier , identifier , identifier ))) ;) })) })) }) (else_clause "else if (num_debug_info_entries == 0) goto LAB_00056993;" else (if_statement "if (num_debug_info_entries == 0) goto LAB_00056993;" if (parenthesized_expression "(num_debug_info_entries == 0)" ( (binary_expression "num_debug_info_entries == 0" identifier == number_literal) )) (goto_statement "goto LAB_00056993;" goto statement_identifier ;)))) (labeled_statement "LAB_00056a44:\n          uVar22 = local_ec._4_4_ + (uint)CARRY4((uint)local_ec,uVar14);" statement_identifier : (expression_statement "uVar22 = local_ec._4_4_ + (uint)CARRY4((uint)local_ec,uVar14);" (assignment_expression "uVar22 = local_ec._4_4_ + (uint)CARRY4((uint)local_ec,uVar14)" identifier = (binary_expression "local_ec._4_4_ + (uint)CARRY4((uint)local_ec,uVar14)" (field_expression "local_ec._4_4_" identifier . field_identifier) + (cast_expression "(uint)CARRY4((uint)local_ec,uVar14)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)local_ec,uVar14)" identifier (argument_list "((uint)local_ec,uVar14)" ( (cast_expression "(uint)local_ec" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier )))))) ;)) (if_statement "if ((uVar22 < ((uint)local_ec + uVar14 < uVar14)) ||\n             (uVar2 = *(uint *)((int)&section->size + 4),\n             uVar2 < uVar22 ||\n             uVar2 - uVar22 < (uint)((uint)section->size < (uint)local_ec + uVar14))) {\n            pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,(uint)local_ec);\n            pcVar13 = section->name;\n            pcVar19 = (char *)dcgettext(0,\n                                        "Debug info is corrupted, %s header at %#lx has length %s\n"\n                                        ,5);\n            warn(pcVar19,pcVar13,uVar10,pcVar17);\n            local_90 = local_a4;\n            break;\n          }" if (parenthesized_expression "((uVar22 < ((uint)local_ec + uVar14 < uVar14)) ||\n             (uVar2 = *(uint *)((int)&section->size + 4),\n             uVar2 < uVar22 ||\n             uVar2 - uVar22 < (uint)((uint)section->size < (uint)local_ec + uVar14)))" ( (binary_expression "(uVar22 < ((uint)local_ec + uVar14 < uVar14)) ||\n             (uVar2 = *(uint *)((int)&section->size + 4),\n             uVar2 < uVar22 ||\n             uVar2 - uVar22 < (uint)((uint)section->size < (uint)local_ec + uVar14))" (parenthesized_expression "(uVar22 < ((uint)local_ec + uVar14 < uVar14))" ( (binary_expression "uVar22 < ((uint)local_ec + uVar14 < uVar14)" identifier < (parenthesized_expression "((uint)local_ec + uVar14 < uVar14)" ( (binary_expression "(uint)local_ec + uVar14 < uVar14" (binary_expression "(uint)local_ec + uVar14" (cast_expression "(uint)local_ec" ( (type_descriptor "uint" type_identifier) ) identifier) + identifier) < identifier) ))) )) || (parenthesized_expression "(uVar2 = *(uint *)((int)&section->size + 4),\n             uVar2 < uVar22 ||\n             uVar2 - uVar22 < (uint)((uint)section->size < (uint)local_ec + uVar14))" ( (comma_expression "uVar2 = *(uint *)((int)&section->size + 4),\n             uVar2 < uVar22 ||\n             uVar2 - uVar22 < (uint)((uint)section->size < (uint)local_ec + uVar14)" (assignment_expression "uVar2 = *(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) ))))) , (binary_expression "uVar2 < uVar22 ||\n             uVar2 - uVar22 < (uint)((uint)section->size < (uint)local_ec + uVar14)" (binary_expression "uVar2 < uVar22" identifier < identifier) || (binary_expression "uVar2 - uVar22 < (uint)((uint)section->size < (uint)local_ec + uVar14)" (binary_expression "uVar2 - uVar22" identifier - identifier) < (call_expression "(uint)((uint)section->size < (uint)local_ec + uVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)section->size < (uint)local_ec + uVar14)" ( (binary_expression "(uint)section->size < (uint)local_ec + uVar14" (cast_expression "(uint)section->size" ( (type_descriptor "uint" type_identifier) ) (field_expression "section->size" identifier -> field_identifier)) < (binary_expression "(uint)local_ec + uVar14" (cast_expression "(uint)local_ec" ( (type_descriptor "uint" type_identifier) ) identifier) + identifier)) )))))) ))) )) (compound_statement "{\n            pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,(uint)local_ec);\n            pcVar13 = section->name;\n            pcVar19 = (char *)dcgettext(0,\n                                        "Debug info is corrupted, %s header at %#lx has length %s\n"\n                                        ,5);\n            warn(pcVar19,pcVar13,uVar10,pcVar17);\n            local_90 = local_a4;\n            break;\n          }" { (expression_statement "pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,(uint)local_ec);" (assignment_expression "pcVar17 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,(uint)local_ec)" identifier = (call_expression "dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,(uint)local_ec)" identifier (argument_list "("x",ZEXT48(in_stack_fffffee8) << 0x20,(uint)local_ec)" ( (string_literal ""x"" " string_content ") , (binary_expression "ZEXT48(in_stack_fffffee8) << 0x20" (call_expression "ZEXT48(in_stack_fffffee8)" identifier (argument_list "(in_stack_fffffee8)" ( identifier ))) << number_literal) , (cast_expression "(uint)local_ec" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "pcVar13 = section->name;" (assignment_expression "pcVar13 = section->name" identifier = (field_expression "section->name" identifier -> field_identifier)) ;) (expression_statement "pcVar19 = (char *)dcgettext(0,\n                                        "Debug info is corrupted, %s header at %#lx has length %s\n"\n                                        ,5);" (assignment_expression "pcVar19 = (char *)dcgettext(0,\n                                        "Debug info is corrupted, %s header at %#lx has length %s\n"\n                                        ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                        "Debug info is corrupted, %s header at %#lx has length %s\n"\n                                        ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                        "Debug info is corrupted, %s header at %#lx has length %s\n"\n                                        ,5)" identifier (argument_list "(0,\n                                        "Debug info is corrupted, %s header at %#lx has length %s\n"\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(pcVar19,pcVar13,uVar10,pcVar17);" (call_expression "warn(pcVar19,pcVar13,uVar10,pcVar17)" identifier (argument_list "(pcVar19,pcVar13,uVar10,pcVar17)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "local_90 = local_a4;" (assignment_expression "local_90 = local_a4" identifier = identifier) ;) (break_statement "break;" break ;) })) (expression_statement "local_f4 = local_f4 + (int)local_d4 + (uint)local_ec;" (assignment_expression "local_f4 = local_f4 + (int)local_d4 + (uint)local_ec" identifier = (binary_expression "local_f4 + (int)local_d4 + (uint)local_ec" (binary_expression "local_f4 + (int)local_d4" identifier + (cast_expression "(int)local_d4" ( (type_descriptor "int" primitive_type) ) identifier)) + (cast_expression "(uint)local_ec" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              puVar29 = (uchar *)0x572c5;\n              free_abbrevs();\n              if (local_a0 < (local_b0 < local_ac)) {\n                iVar11 = abbrev_sec * 0x40;\n                pcVar13 = *(char **)(&DAT_000b485c + iVar11);\n                pdVar9 = (dwarf_section *)((int)&local_ac->uncompressed_name + local_9c);\n                uVar14 = local_98 + (uint)CARRY4((uint)local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + iVar11) < uVar14 ||\n                    *(uint *)(&DAT_000b4860 + iVar11) - uVar14 <\n                    (uint)(pcVar13 < (char *)((int)&local_ac->uncompressed_name + local_9c))) {\n                  pcVar17 = (char *)dcgettext(0,\n                                              "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                              ,5);\n                  warn(pcVar17,pdVar9,pcVar13);\n                  in_stack_fffffee8 = (char *)pdVar9;\n                }\n                else if (first_abbrev == (abbrev_entry *)0x0) {\n                  puVar29 = (uchar *)0x57341;\n                  process_abbrev_section\n                            ((uchar *)((int)&local_b0->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11) + local_9c),\n                             (uchar *)((int)&pdVar9->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11)));\n                }\n              }\n              else {\n                pcVar13 = (char *)dcgettext(0,\n                                            "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                            ,5);\n                warn(pcVar13,local_b0,local_ac);\n                in_stack_fffffee8 = (char *)local_b0;\n              }\n              if (puVar16 < local_f4) {\n                local_78 = (dwarf_section *)0xffffffff;\n                local_70 = (dwarf_section *)0x0;\n                local_d4 = (dwarf_section *)0x0;\n                do {\n                  pdVar12 = (dwarf_section *)(puVar16 + -(int)puVar1);\n                  pdVar9 = (dwarf_section *)0x0;\n                  in_stack_fffffee8 = buf;\n                  puVar29 = local_f4;\n                  dVar28 = read_leb128(puVar16,(uint *)buf,0,local_f4);\n                  uVar15 = (ulong)dVar28;\n                  puVar16 = puVar16 + buf._0_4_;\n                  if (uVar15 == 0) {\n                    if ((local_d4 == (dwarf_section *)0x0) && (end == local_f4)) {\n                      puVar18 = puVar16;\n                      if (puVar16 < local_f4) {\n                        while (*puVar18 == '\0') {\n                          puVar18 = puVar18 + 1;\n                          if (local_f4 == puVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == puVar16) break;\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         ((0 < dwarf_cutoff_level || (dwarf_cutoff_level == -1)))) {\n                        pdVar9 = (dwarf_section *)0xffffffff;\nLAB_00057496:\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar13,local_d4,pdVar12);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        if (-1 < (int)pdVar9) goto LAB_00057428;\n                      }\n                      else {\n                        pdVar9 = (dwarf_section *)0xffffffff;\n                        local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      }\nLAB_000574d0:\n                      in_stack_fffffee8 = (char *)local_d4;\n                      if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                          lexical_block_12_26_8::num_bogus_warns < 3) {\n                        pcVar13 = section->name;\n                        pcVar17 = (char *)dcgettext(0,\n                                                  "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                                  ,5);\n                        warn(pcVar17,pdVar12,pcVar13);\n                        process_debug_info::lexical_block_12::lexical_block_12_26::\n                        lexical_block_12_26_8::num_bogus_warns =\n                             process_debug_info::lexical_block_12::lexical_block_12_26::\n                             lexical_block_12_26_8::num_bogus_warns + 1;\n                        in_stack_fffffee8 = (char *)pdVar12;\n                        if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                            lexical_block_12_26_8::num_bogus_warns == 3) {\n                          in_stack_fffffee8 =\n                               "Further warnings about bogus end-of-sibling markers suppressed\n";\n                          pcVar13 = (char *)dcgettext(0,\n                                                  "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                                  ,5);\n                          warn(pcVar13);\n                        }\n                      }\n                    }\n                    else {\n                      pdVar9 = (dwarf_section *)((int)&local_d4[-1].user_data + 3);\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         (((int)local_d4 < dwarf_cutoff_level || (dwarf_cutoff_level == -1))))\n                      goto LAB_00057496;\n                      local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      if ((int)pdVar9 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = pdVar9;\n                    if ((dwarf_start_die != 0) && ((int)pdVar9 < (int)local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (do_loc == 0) {\n                      if (dwarf_start_die != 0) {\n                        if (pdVar12 < dwarf_start_die) {\n                          bVar20 = false;\n                          iVar11 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if ((dwarf_section *)dwarf_start_die == pdVar12) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar20 = dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level;\n                      if (dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level) {\n                        in_stack_fffffee8 = " <%d><%lx>: Abbrev Number: %lu";\n                        pdVar9 = (dwarf_section *)0x5;\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar13,local_d4,pdVar12,uVar15);\n                        local_70 = local_d4;\n                        iVar11 = 1;\n                      }\n                      else if ((int)local_70 < dwarf_cutoff_level) {\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        pdVar9 = pdVar12;\n                        printf(pcVar13,local_d4,pdVar12);\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                    }\n                    else {\n                      bVar20 = false;\n                      iVar11 = do_loc;\n                    }\nLAB_0005783c:\n                    if (first_abbrev == (abbrev_entry *)0x0) {\nLAB_00057dbe:\n                      if (bVar20) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      pcVar13 = (char *)dcgettext(0,\n                                                  "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                                  ,5);\n                      warn(pcVar13,pdVar12,uVar15);\n                      return 0;\n                    }\n                    uVar3 = first_abbrev->entry;\n                    paVar4 = first_abbrev;\n                    while (uVar3 != uVar15) {\n                      paVar4 = paVar4->next;\n                      if (paVar4 == (abbrev_entry *)0x0) goto LAB_00057dbe;\n                      uVar3 = paVar4->entry;\n                    }\n                    uVar15 = paVar4->tag;\n                    if (bVar20) {\n                      puVar29 = (uchar *)0x57bcc;\n                      in_stack_fffffee8 = get_TAG_name(uVar15);\n                      printf(" (%s)\n",in_stack_fffffee8,pdVar9);\n                      uVar15 = paVar4->tag;\n                    }\n                    if (uVar15 == 0x11) {\n                      need_base_address = 1;\n                      need_dwo_info = do_loc;\n                    }\n                    else if ((uVar15 == 0x2e) || (uVar15 == 3)) {\n                      need_base_address = 0;\n                      have_frame_base = 0;\n                    }\n                    else {\n                      need_base_address = 0;\n                    }\n                    if (((debug_information == (debug_info *)0x0) ||\n                        (alloc_num_debug_info_entries <= local_a4)) ||\n                       (pdVar24 = debug_information + local_a4, pdVar24 == (debug_info *)0x0)) {\n                      paVar25 = paVar4->first_attr;\n                      if ((paVar25 != (abbrev_attr *)0x0) &&\n                         (pdVar24 = (debug_info *)0x0, paVar25->attribute != 0)) {\nLAB_000578fa:\n                        local_bc = ZEXT48(local_f0);\n                        do {\n                          if (bVar20) {\n                            printf("    <%lx>",(int)puVar16 - (int)puVar1);\n                          }\n                          uVar15 = paVar25->form;\n                          implicit_const = paVar25->implicit_const;\n                          uVar3 = paVar25->attribute;\n                          if (iVar11 == 1 && do_loc == 0) {\n                            puVar29 = (uchar *)0x579ff;\n                            in_stack_fffffee8 = get_AT_name(uVar3);\n                            printf("   %-18s:");\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,\n                                                 ' ');\n                            putchar(10);\n                            paVar25 = paVar25->next;\n                          }\n                          else {\n                            puVar29 = (uchar *)0x20;\n                            in_stack_fffffee8 = (char *)section;\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ');\n                            paVar25 = paVar25->next;\n                          }\n                        } while ((paVar25 != (abbrev_attr *)0x0) && (paVar25->attribute != 0));\n                        if (pdVar24 != (debug_info *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (pdVar24->num_loc_offsets != pdVar24->num_loc_views) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      paVar25 = paVar4->first_attr;\n                      if (paVar25 != (abbrev_attr *)0x0) {\n                        if (paVar25->attribute != 0) goto LAB_000578fa;\nLAB_00057a88:\n                        uVar14 = pdVar24->num_loc_offsets;\n                        uVar22 = pdVar24->num_loc_views;\n                        if (uVar14 - uVar22 == 1) {\n                          pdVar6 = pdVar24->loc_views;\n                          *(undefined4 *)(pdVar6 + uVar22) = 0xffffffff;\n                          *(undefined4 *)((int)pdVar6 + uVar22 * 8 + 4) = 0xffffffff;\n                          pdVar24->num_loc_views = uVar22 + 1;\n                          if (uVar22 + 1 != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (uVar14 != uVar22) {\n                          if (uVar14 - uVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          in_stack_fffffee8 = "DIE has locviews without loclist\n";\n                          pcVar13 = (char *)dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(pcVar13);\n                          pdVar24->num_loc_views = pdVar24->num_loc_views - 1;\n                        }\n                      }\n                    }\n                    local_d4 = (dwarf_section *)\n                               ((int)&local_d4->uncompressed_name + (uint)(paVar4->children != 0));\n                  }\n                } while (puVar16 < local_f4);\n              }\n            }\n            else {\n              in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n              pcVar13 = (char *)dcgettext(0,\n                                          "CU at offset %s contains corrupt or unsupported unit type: %d.\n"\n                                          ,5);\n              warn(pcVar13,in_stack_fffffee8,local_b4);\n            }\n          }\n          else {\n            in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n            pcVar13 = (char *)dcgettext(0,\n                                        "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                                        ,5);\n            warn(pcVar13,in_stack_fffffee8,(uint)local_e2);\n          }" if (parenthesized_expression "((ushort)(local_e2 - 2) < 4)" ( (binary_expression "(ushort)(local_e2 - 2) < 4" (call_expression "(ushort)(local_e2 - 2)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(local_e2 - 2)" ( (binary_expression "local_e2 - 2" identifier - number_literal) ))) < number_literal) )) (compound_statement "{\n            if (local_b4 - 1U < 2) {\n              puVar29 = (uchar *)0x572c5;\n              free_abbrevs();\n              if (local_a0 < (local_b0 < local_ac)) {\n                iVar11 = abbrev_sec * 0x40;\n                pcVar13 = *(char **)(&DAT_000b485c + iVar11);\n                pdVar9 = (dwarf_section *)((int)&local_ac->uncompressed_name + local_9c);\n                uVar14 = local_98 + (uint)CARRY4((uint)local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + iVar11) < uVar14 ||\n                    *(uint *)(&DAT_000b4860 + iVar11) - uVar14 <\n                    (uint)(pcVar13 < (char *)((int)&local_ac->uncompressed_name + local_9c))) {\n                  pcVar17 = (char *)dcgettext(0,\n                                              "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                              ,5);\n                  warn(pcVar17,pdVar9,pcVar13);\n                  in_stack_fffffee8 = (char *)pdVar9;\n                }\n                else if (first_abbrev == (abbrev_entry *)0x0) {\n                  puVar29 = (uchar *)0x57341;\n                  process_abbrev_section\n                            ((uchar *)((int)&local_b0->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11) + local_9c),\n                             (uchar *)((int)&pdVar9->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11)));\n                }\n              }\n              else {\n                pcVar13 = (char *)dcgettext(0,\n                                            "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                            ,5);\n                warn(pcVar13,local_b0,local_ac);\n                in_stack_fffffee8 = (char *)local_b0;\n              }\n              if (puVar16 < local_f4) {\n                local_78 = (dwarf_section *)0xffffffff;\n                local_70 = (dwarf_section *)0x0;\n                local_d4 = (dwarf_section *)0x0;\n                do {\n                  pdVar12 = (dwarf_section *)(puVar16 + -(int)puVar1);\n                  pdVar9 = (dwarf_section *)0x0;\n                  in_stack_fffffee8 = buf;\n                  puVar29 = local_f4;\n                  dVar28 = read_leb128(puVar16,(uint *)buf,0,local_f4);\n                  uVar15 = (ulong)dVar28;\n                  puVar16 = puVar16 + buf._0_4_;\n                  if (uVar15 == 0) {\n                    if ((local_d4 == (dwarf_section *)0x0) && (end == local_f4)) {\n                      puVar18 = puVar16;\n                      if (puVar16 < local_f4) {\n                        while (*puVar18 == '\0') {\n                          puVar18 = puVar18 + 1;\n                          if (local_f4 == puVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == puVar16) break;\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         ((0 < dwarf_cutoff_level || (dwarf_cutoff_level == -1)))) {\n                        pdVar9 = (dwarf_section *)0xffffffff;\nLAB_00057496:\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar13,local_d4,pdVar12);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        if (-1 < (int)pdVar9) goto LAB_00057428;\n                      }\n                      else {\n                        pdVar9 = (dwarf_section *)0xffffffff;\n                        local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      }\nLAB_000574d0:\n                      in_stack_fffffee8 = (char *)local_d4;\n                      if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                          lexical_block_12_26_8::num_bogus_warns < 3) {\n                        pcVar13 = section->name;\n                        pcVar17 = (char *)dcgettext(0,\n                                                  "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                                  ,5);\n                        warn(pcVar17,pdVar12,pcVar13);\n                        process_debug_info::lexical_block_12::lexical_block_12_26::\n                        lexical_block_12_26_8::num_bogus_warns =\n                             process_debug_info::lexical_block_12::lexical_block_12_26::\n                             lexical_block_12_26_8::num_bogus_warns + 1;\n                        in_stack_fffffee8 = (char *)pdVar12;\n                        if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                            lexical_block_12_26_8::num_bogus_warns == 3) {\n                          in_stack_fffffee8 =\n                               "Further warnings about bogus end-of-sibling markers suppressed\n";\n                          pcVar13 = (char *)dcgettext(0,\n                                                  "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                                  ,5);\n                          warn(pcVar13);\n                        }\n                      }\n                    }\n                    else {\n                      pdVar9 = (dwarf_section *)((int)&local_d4[-1].user_data + 3);\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         (((int)local_d4 < dwarf_cutoff_level || (dwarf_cutoff_level == -1))))\n                      goto LAB_00057496;\n                      local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      if ((int)pdVar9 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = pdVar9;\n                    if ((dwarf_start_die != 0) && ((int)pdVar9 < (int)local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (do_loc == 0) {\n                      if (dwarf_start_die != 0) {\n                        if (pdVar12 < dwarf_start_die) {\n                          bVar20 = false;\n                          iVar11 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if ((dwarf_section *)dwarf_start_die == pdVar12) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar20 = dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level;\n                      if (dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level) {\n                        in_stack_fffffee8 = " <%d><%lx>: Abbrev Number: %lu";\n                        pdVar9 = (dwarf_section *)0x5;\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar13,local_d4,pdVar12,uVar15);\n                        local_70 = local_d4;\n                        iVar11 = 1;\n                      }\n                      else if ((int)local_70 < dwarf_cutoff_level) {\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        pdVar9 = pdVar12;\n                        printf(pcVar13,local_d4,pdVar12);\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                    }\n                    else {\n                      bVar20 = false;\n                      iVar11 = do_loc;\n                    }\nLAB_0005783c:\n                    if (first_abbrev == (abbrev_entry *)0x0) {\nLAB_00057dbe:\n                      if (bVar20) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      pcVar13 = (char *)dcgettext(0,\n                                                  "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                                  ,5);\n                      warn(pcVar13,pdVar12,uVar15);\n                      return 0;\n                    }\n                    uVar3 = first_abbrev->entry;\n                    paVar4 = first_abbrev;\n                    while (uVar3 != uVar15) {\n                      paVar4 = paVar4->next;\n                      if (paVar4 == (abbrev_entry *)0x0) goto LAB_00057dbe;\n                      uVar3 = paVar4->entry;\n                    }\n                    uVar15 = paVar4->tag;\n                    if (bVar20) {\n                      puVar29 = (uchar *)0x57bcc;\n                      in_stack_fffffee8 = get_TAG_name(uVar15);\n                      printf(" (%s)\n",in_stack_fffffee8,pdVar9);\n                      uVar15 = paVar4->tag;\n                    }\n                    if (uVar15 == 0x11) {\n                      need_base_address = 1;\n                      need_dwo_info = do_loc;\n                    }\n                    else if ((uVar15 == 0x2e) || (uVar15 == 3)) {\n                      need_base_address = 0;\n                      have_frame_base = 0;\n                    }\n                    else {\n                      need_base_address = 0;\n                    }\n                    if (((debug_information == (debug_info *)0x0) ||\n                        (alloc_num_debug_info_entries <= local_a4)) ||\n                       (pdVar24 = debug_information + local_a4, pdVar24 == (debug_info *)0x0)) {\n                      paVar25 = paVar4->first_attr;\n                      if ((paVar25 != (abbrev_attr *)0x0) &&\n                         (pdVar24 = (debug_info *)0x0, paVar25->attribute != 0)) {\nLAB_000578fa:\n                        local_bc = ZEXT48(local_f0);\n                        do {\n                          if (bVar20) {\n                            printf("    <%lx>",(int)puVar16 - (int)puVar1);\n                          }\n                          uVar15 = paVar25->form;\n                          implicit_const = paVar25->implicit_const;\n                          uVar3 = paVar25->attribute;\n                          if (iVar11 == 1 && do_loc == 0) {\n                            puVar29 = (uchar *)0x579ff;\n                            in_stack_fffffee8 = get_AT_name(uVar3);\n                            printf("   %-18s:");\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,\n                                                 ' ');\n                            putchar(10);\n                            paVar25 = paVar25->next;\n                          }\n                          else {\n                            puVar29 = (uchar *)0x20;\n                            in_stack_fffffee8 = (char *)section;\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ');\n                            paVar25 = paVar25->next;\n                          }\n                        } while ((paVar25 != (abbrev_attr *)0x0) && (paVar25->attribute != 0));\n                        if (pdVar24 != (debug_info *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (pdVar24->num_loc_offsets != pdVar24->num_loc_views) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      paVar25 = paVar4->first_attr;\n                      if (paVar25 != (abbrev_attr *)0x0) {\n                        if (paVar25->attribute != 0) goto LAB_000578fa;\nLAB_00057a88:\n                        uVar14 = pdVar24->num_loc_offsets;\n                        uVar22 = pdVar24->num_loc_views;\n                        if (uVar14 - uVar22 == 1) {\n                          pdVar6 = pdVar24->loc_views;\n                          *(undefined4 *)(pdVar6 + uVar22) = 0xffffffff;\n                          *(undefined4 *)((int)pdVar6 + uVar22 * 8 + 4) = 0xffffffff;\n                          pdVar24->num_loc_views = uVar22 + 1;\n                          if (uVar22 + 1 != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (uVar14 != uVar22) {\n                          if (uVar14 - uVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          in_stack_fffffee8 = "DIE has locviews without loclist\n";\n                          pcVar13 = (char *)dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(pcVar13);\n                          pdVar24->num_loc_views = pdVar24->num_loc_views - 1;\n                        }\n                      }\n                    }\n                    local_d4 = (dwarf_section *)\n                               ((int)&local_d4->uncompressed_name + (uint)(paVar4->children != 0));\n                  }\n                } while (puVar16 < local_f4);\n              }\n            }\n            else {\n              in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n              pcVar13 = (char *)dcgettext(0,\n                                          "CU at offset %s contains corrupt or unsupported unit type: %d.\n"\n                                          ,5);\n              warn(pcVar13,in_stack_fffffee8,local_b4);\n            }\n          }" { (if_statement "if (local_b4 - 1U < 2) {\n              puVar29 = (uchar *)0x572c5;\n              free_abbrevs();\n              if (local_a0 < (local_b0 < local_ac)) {\n                iVar11 = abbrev_sec * 0x40;\n                pcVar13 = *(char **)(&DAT_000b485c + iVar11);\n                pdVar9 = (dwarf_section *)((int)&local_ac->uncompressed_name + local_9c);\n                uVar14 = local_98 + (uint)CARRY4((uint)local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + iVar11) < uVar14 ||\n                    *(uint *)(&DAT_000b4860 + iVar11) - uVar14 <\n                    (uint)(pcVar13 < (char *)((int)&local_ac->uncompressed_name + local_9c))) {\n                  pcVar17 = (char *)dcgettext(0,\n                                              "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                              ,5);\n                  warn(pcVar17,pdVar9,pcVar13);\n                  in_stack_fffffee8 = (char *)pdVar9;\n                }\n                else if (first_abbrev == (abbrev_entry *)0x0) {\n                  puVar29 = (uchar *)0x57341;\n                  process_abbrev_section\n                            ((uchar *)((int)&local_b0->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11) + local_9c),\n                             (uchar *)((int)&pdVar9->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11)));\n                }\n              }\n              else {\n                pcVar13 = (char *)dcgettext(0,\n                                            "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                            ,5);\n                warn(pcVar13,local_b0,local_ac);\n                in_stack_fffffee8 = (char *)local_b0;\n              }\n              if (puVar16 < local_f4) {\n                local_78 = (dwarf_section *)0xffffffff;\n                local_70 = (dwarf_section *)0x0;\n                local_d4 = (dwarf_section *)0x0;\n                do {\n                  pdVar12 = (dwarf_section *)(puVar16 + -(int)puVar1);\n                  pdVar9 = (dwarf_section *)0x0;\n                  in_stack_fffffee8 = buf;\n                  puVar29 = local_f4;\n                  dVar28 = read_leb128(puVar16,(uint *)buf,0,local_f4);\n                  uVar15 = (ulong)dVar28;\n                  puVar16 = puVar16 + buf._0_4_;\n                  if (uVar15 == 0) {\n                    if ((local_d4 == (dwarf_section *)0x0) && (end == local_f4)) {\n                      puVar18 = puVar16;\n                      if (puVar16 < local_f4) {\n                        while (*puVar18 == '\0') {\n                          puVar18 = puVar18 + 1;\n                          if (local_f4 == puVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == puVar16) break;\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         ((0 < dwarf_cutoff_level || (dwarf_cutoff_level == -1)))) {\n                        pdVar9 = (dwarf_section *)0xffffffff;\nLAB_00057496:\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar13,local_d4,pdVar12);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        if (-1 < (int)pdVar9) goto LAB_00057428;\n                      }\n                      else {\n                        pdVar9 = (dwarf_section *)0xffffffff;\n                        local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      }\nLAB_000574d0:\n                      in_stack_fffffee8 = (char *)local_d4;\n                      if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                          lexical_block_12_26_8::num_bogus_warns < 3) {\n                        pcVar13 = section->name;\n                        pcVar17 = (char *)dcgettext(0,\n                                                  "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                                  ,5);\n                        warn(pcVar17,pdVar12,pcVar13);\n                        process_debug_info::lexical_block_12::lexical_block_12_26::\n                        lexical_block_12_26_8::num_bogus_warns =\n                             process_debug_info::lexical_block_12::lexical_block_12_26::\n                             lexical_block_12_26_8::num_bogus_warns + 1;\n                        in_stack_fffffee8 = (char *)pdVar12;\n                        if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                            lexical_block_12_26_8::num_bogus_warns == 3) {\n                          in_stack_fffffee8 =\n                               "Further warnings about bogus end-of-sibling markers suppressed\n";\n                          pcVar13 = (char *)dcgettext(0,\n                                                  "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                                  ,5);\n                          warn(pcVar13);\n                        }\n                      }\n                    }\n                    else {\n                      pdVar9 = (dwarf_section *)((int)&local_d4[-1].user_data + 3);\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         (((int)local_d4 < dwarf_cutoff_level || (dwarf_cutoff_level == -1))))\n                      goto LAB_00057496;\n                      local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      if ((int)pdVar9 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = pdVar9;\n                    if ((dwarf_start_die != 0) && ((int)pdVar9 < (int)local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (do_loc == 0) {\n                      if (dwarf_start_die != 0) {\n                        if (pdVar12 < dwarf_start_die) {\n                          bVar20 = false;\n                          iVar11 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if ((dwarf_section *)dwarf_start_die == pdVar12) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar20 = dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level;\n                      if (dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level) {\n                        in_stack_fffffee8 = " <%d><%lx>: Abbrev Number: %lu";\n                        pdVar9 = (dwarf_section *)0x5;\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar13,local_d4,pdVar12,uVar15);\n                        local_70 = local_d4;\n                        iVar11 = 1;\n                      }\n                      else if ((int)local_70 < dwarf_cutoff_level) {\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        pdVar9 = pdVar12;\n                        printf(pcVar13,local_d4,pdVar12);\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                    }\n                    else {\n                      bVar20 = false;\n                      iVar11 = do_loc;\n                    }\nLAB_0005783c:\n                    if (first_abbrev == (abbrev_entry *)0x0) {\nLAB_00057dbe:\n                      if (bVar20) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      pcVar13 = (char *)dcgettext(0,\n                                                  "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                                  ,5);\n                      warn(pcVar13,pdVar12,uVar15);\n                      return 0;\n                    }\n                    uVar3 = first_abbrev->entry;\n                    paVar4 = first_abbrev;\n                    while (uVar3 != uVar15) {\n                      paVar4 = paVar4->next;\n                      if (paVar4 == (abbrev_entry *)0x0) goto LAB_00057dbe;\n                      uVar3 = paVar4->entry;\n                    }\n                    uVar15 = paVar4->tag;\n                    if (bVar20) {\n                      puVar29 = (uchar *)0x57bcc;\n                      in_stack_fffffee8 = get_TAG_name(uVar15);\n                      printf(" (%s)\n",in_stack_fffffee8,pdVar9);\n                      uVar15 = paVar4->tag;\n                    }\n                    if (uVar15 == 0x11) {\n                      need_base_address = 1;\n                      need_dwo_info = do_loc;\n                    }\n                    else if ((uVar15 == 0x2e) || (uVar15 == 3)) {\n                      need_base_address = 0;\n                      have_frame_base = 0;\n                    }\n                    else {\n                      need_base_address = 0;\n                    }\n                    if (((debug_information == (debug_info *)0x0) ||\n                        (alloc_num_debug_info_entries <= local_a4)) ||\n                       (pdVar24 = debug_information + local_a4, pdVar24 == (debug_info *)0x0)) {\n                      paVar25 = paVar4->first_attr;\n                      if ((paVar25 != (abbrev_attr *)0x0) &&\n                         (pdVar24 = (debug_info *)0x0, paVar25->attribute != 0)) {\nLAB_000578fa:\n                        local_bc = ZEXT48(local_f0);\n                        do {\n                          if (bVar20) {\n                            printf("    <%lx>",(int)puVar16 - (int)puVar1);\n                          }\n                          uVar15 = paVar25->form;\n                          implicit_const = paVar25->implicit_const;\n                          uVar3 = paVar25->attribute;\n                          if (iVar11 == 1 && do_loc == 0) {\n                            puVar29 = (uchar *)0x579ff;\n                            in_stack_fffffee8 = get_AT_name(uVar3);\n                            printf("   %-18s:");\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,\n                                                 ' ');\n                            putchar(10);\n                            paVar25 = paVar25->next;\n                          }\n                          else {\n                            puVar29 = (uchar *)0x20;\n                            in_stack_fffffee8 = (char *)section;\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ');\n                            paVar25 = paVar25->next;\n                          }\n                        } while ((paVar25 != (abbrev_attr *)0x0) && (paVar25->attribute != 0));\n                        if (pdVar24 != (debug_info *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (pdVar24->num_loc_offsets != pdVar24->num_loc_views) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      paVar25 = paVar4->first_attr;\n                      if (paVar25 != (abbrev_attr *)0x0) {\n                        if (paVar25->attribute != 0) goto LAB_000578fa;\nLAB_00057a88:\n                        uVar14 = pdVar24->num_loc_offsets;\n                        uVar22 = pdVar24->num_loc_views;\n                        if (uVar14 - uVar22 == 1) {\n                          pdVar6 = pdVar24->loc_views;\n                          *(undefined4 *)(pdVar6 + uVar22) = 0xffffffff;\n                          *(undefined4 *)((int)pdVar6 + uVar22 * 8 + 4) = 0xffffffff;\n                          pdVar24->num_loc_views = uVar22 + 1;\n                          if (uVar22 + 1 != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (uVar14 != uVar22) {\n                          if (uVar14 - uVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          in_stack_fffffee8 = "DIE has locviews without loclist\n";\n                          pcVar13 = (char *)dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(pcVar13);\n                          pdVar24->num_loc_views = pdVar24->num_loc_views - 1;\n                        }\n                      }\n                    }\n                    local_d4 = (dwarf_section *)\n                               ((int)&local_d4->uncompressed_name + (uint)(paVar4->children != 0));\n                  }\n                } while (puVar16 < local_f4);\n              }\n            }\n            else {\n              in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n              pcVar13 = (char *)dcgettext(0,\n                                          "CU at offset %s contains corrupt or unsupported unit type: %d.\n"\n                                          ,5);\n              warn(pcVar13,in_stack_fffffee8,local_b4);\n            }" if (parenthesized_expression "(local_b4 - 1U < 2)" ( (binary_expression "local_b4 - 1U < 2" (binary_expression "local_b4 - 1U" identifier - number_literal) < number_literal) )) (compound_statement "{\n              puVar29 = (uchar *)0x572c5;\n              free_abbrevs();\n              if (local_a0 < (local_b0 < local_ac)) {\n                iVar11 = abbrev_sec * 0x40;\n                pcVar13 = *(char **)(&DAT_000b485c + iVar11);\n                pdVar9 = (dwarf_section *)((int)&local_ac->uncompressed_name + local_9c);\n                uVar14 = local_98 + (uint)CARRY4((uint)local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + iVar11) < uVar14 ||\n                    *(uint *)(&DAT_000b4860 + iVar11) - uVar14 <\n                    (uint)(pcVar13 < (char *)((int)&local_ac->uncompressed_name + local_9c))) {\n                  pcVar17 = (char *)dcgettext(0,\n                                              "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                              ,5);\n                  warn(pcVar17,pdVar9,pcVar13);\n                  in_stack_fffffee8 = (char *)pdVar9;\n                }\n                else if (first_abbrev == (abbrev_entry *)0x0) {\n                  puVar29 = (uchar *)0x57341;\n                  process_abbrev_section\n                            ((uchar *)((int)&local_b0->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11) + local_9c),\n                             (uchar *)((int)&pdVar9->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11)));\n                }\n              }\n              else {\n                pcVar13 = (char *)dcgettext(0,\n                                            "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                            ,5);\n                warn(pcVar13,local_b0,local_ac);\n                in_stack_fffffee8 = (char *)local_b0;\n              }\n              if (puVar16 < local_f4) {\n                local_78 = (dwarf_section *)0xffffffff;\n                local_70 = (dwarf_section *)0x0;\n                local_d4 = (dwarf_section *)0x0;\n                do {\n                  pdVar12 = (dwarf_section *)(puVar16 + -(int)puVar1);\n                  pdVar9 = (dwarf_section *)0x0;\n                  in_stack_fffffee8 = buf;\n                  puVar29 = local_f4;\n                  dVar28 = read_leb128(puVar16,(uint *)buf,0,local_f4);\n                  uVar15 = (ulong)dVar28;\n                  puVar16 = puVar16 + buf._0_4_;\n                  if (uVar15 == 0) {\n                    if ((local_d4 == (dwarf_section *)0x0) && (end == local_f4)) {\n                      puVar18 = puVar16;\n                      if (puVar16 < local_f4) {\n                        while (*puVar18 == '\0') {\n                          puVar18 = puVar18 + 1;\n                          if (local_f4 == puVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == puVar16) break;\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         ((0 < dwarf_cutoff_level || (dwarf_cutoff_level == -1)))) {\n                        pdVar9 = (dwarf_section *)0xffffffff;\nLAB_00057496:\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar13,local_d4,pdVar12);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        if (-1 < (int)pdVar9) goto LAB_00057428;\n                      }\n                      else {\n                        pdVar9 = (dwarf_section *)0xffffffff;\n                        local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      }\nLAB_000574d0:\n                      in_stack_fffffee8 = (char *)local_d4;\n                      if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                          lexical_block_12_26_8::num_bogus_warns < 3) {\n                        pcVar13 = section->name;\n                        pcVar17 = (char *)dcgettext(0,\n                                                  "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                                  ,5);\n                        warn(pcVar17,pdVar12,pcVar13);\n                        process_debug_info::lexical_block_12::lexical_block_12_26::\n                        lexical_block_12_26_8::num_bogus_warns =\n                             process_debug_info::lexical_block_12::lexical_block_12_26::\n                             lexical_block_12_26_8::num_bogus_warns + 1;\n                        in_stack_fffffee8 = (char *)pdVar12;\n                        if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                            lexical_block_12_26_8::num_bogus_warns == 3) {\n                          in_stack_fffffee8 =\n                               "Further warnings about bogus end-of-sibling markers suppressed\n";\n                          pcVar13 = (char *)dcgettext(0,\n                                                  "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                                  ,5);\n                          warn(pcVar13);\n                        }\n                      }\n                    }\n                    else {\n                      pdVar9 = (dwarf_section *)((int)&local_d4[-1].user_data + 3);\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         (((int)local_d4 < dwarf_cutoff_level || (dwarf_cutoff_level == -1))))\n                      goto LAB_00057496;\n                      local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      if ((int)pdVar9 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = pdVar9;\n                    if ((dwarf_start_die != 0) && ((int)pdVar9 < (int)local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (do_loc == 0) {\n                      if (dwarf_start_die != 0) {\n                        if (pdVar12 < dwarf_start_die) {\n                          bVar20 = false;\n                          iVar11 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if ((dwarf_section *)dwarf_start_die == pdVar12) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar20 = dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level;\n                      if (dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level) {\n                        in_stack_fffffee8 = " <%d><%lx>: Abbrev Number: %lu";\n                        pdVar9 = (dwarf_section *)0x5;\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar13,local_d4,pdVar12,uVar15);\n                        local_70 = local_d4;\n                        iVar11 = 1;\n                      }\n                      else if ((int)local_70 < dwarf_cutoff_level) {\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        pdVar9 = pdVar12;\n                        printf(pcVar13,local_d4,pdVar12);\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                    }\n                    else {\n                      bVar20 = false;\n                      iVar11 = do_loc;\n                    }\nLAB_0005783c:\n                    if (first_abbrev == (abbrev_entry *)0x0) {\nLAB_00057dbe:\n                      if (bVar20) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      pcVar13 = (char *)dcgettext(0,\n                                                  "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                                  ,5);\n                      warn(pcVar13,pdVar12,uVar15);\n                      return 0;\n                    }\n                    uVar3 = first_abbrev->entry;\n                    paVar4 = first_abbrev;\n                    while (uVar3 != uVar15) {\n                      paVar4 = paVar4->next;\n                      if (paVar4 == (abbrev_entry *)0x0) goto LAB_00057dbe;\n                      uVar3 = paVar4->entry;\n                    }\n                    uVar15 = paVar4->tag;\n                    if (bVar20) {\n                      puVar29 = (uchar *)0x57bcc;\n                      in_stack_fffffee8 = get_TAG_name(uVar15);\n                      printf(" (%s)\n",in_stack_fffffee8,pdVar9);\n                      uVar15 = paVar4->tag;\n                    }\n                    if (uVar15 == 0x11) {\n                      need_base_address = 1;\n                      need_dwo_info = do_loc;\n                    }\n                    else if ((uVar15 == 0x2e) || (uVar15 == 3)) {\n                      need_base_address = 0;\n                      have_frame_base = 0;\n                    }\n                    else {\n                      need_base_address = 0;\n                    }\n                    if (((debug_information == (debug_info *)0x0) ||\n                        (alloc_num_debug_info_entries <= local_a4)) ||\n                       (pdVar24 = debug_information + local_a4, pdVar24 == (debug_info *)0x0)) {\n                      paVar25 = paVar4->first_attr;\n                      if ((paVar25 != (abbrev_attr *)0x0) &&\n                         (pdVar24 = (debug_info *)0x0, paVar25->attribute != 0)) {\nLAB_000578fa:\n                        local_bc = ZEXT48(local_f0);\n                        do {\n                          if (bVar20) {\n                            printf("    <%lx>",(int)puVar16 - (int)puVar1);\n                          }\n                          uVar15 = paVar25->form;\n                          implicit_const = paVar25->implicit_const;\n                          uVar3 = paVar25->attribute;\n                          if (iVar11 == 1 && do_loc == 0) {\n                            puVar29 = (uchar *)0x579ff;\n                            in_stack_fffffee8 = get_AT_name(uVar3);\n                            printf("   %-18s:");\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,\n                                                 ' ');\n                            putchar(10);\n                            paVar25 = paVar25->next;\n                          }\n                          else {\n                            puVar29 = (uchar *)0x20;\n                            in_stack_fffffee8 = (char *)section;\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ');\n                            paVar25 = paVar25->next;\n                          }\n                        } while ((paVar25 != (abbrev_attr *)0x0) && (paVar25->attribute != 0));\n                        if (pdVar24 != (debug_info *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (pdVar24->num_loc_offsets != pdVar24->num_loc_views) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      paVar25 = paVar4->first_attr;\n                      if (paVar25 != (abbrev_attr *)0x0) {\n                        if (paVar25->attribute != 0) goto LAB_000578fa;\nLAB_00057a88:\n                        uVar14 = pdVar24->num_loc_offsets;\n                        uVar22 = pdVar24->num_loc_views;\n                        if (uVar14 - uVar22 == 1) {\n                          pdVar6 = pdVar24->loc_views;\n                          *(undefined4 *)(pdVar6 + uVar22) = 0xffffffff;\n                          *(undefined4 *)((int)pdVar6 + uVar22 * 8 + 4) = 0xffffffff;\n                          pdVar24->num_loc_views = uVar22 + 1;\n                          if (uVar22 + 1 != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (uVar14 != uVar22) {\n                          if (uVar14 - uVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          in_stack_fffffee8 = "DIE has locviews without loclist\n";\n                          pcVar13 = (char *)dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(pcVar13);\n                          pdVar24->num_loc_views = pdVar24->num_loc_views - 1;\n                        }\n                      }\n                    }\n                    local_d4 = (dwarf_section *)\n                               ((int)&local_d4->uncompressed_name + (uint)(paVar4->children != 0));\n                  }\n                } while (puVar16 < local_f4);\n              }\n            }" { (expression_statement "puVar29 = (uchar *)0x572c5;" (assignment_expression "puVar29 = (uchar *)0x572c5" identifier = (cast_expression "(uchar *)0x572c5" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "free_abbrevs();" (call_expression "free_abbrevs()" identifier (argument_list "()" ( ))) ;) (if_statement "if (local_a0 < (local_b0 < local_ac)) {\n                iVar11 = abbrev_sec * 0x40;\n                pcVar13 = *(char **)(&DAT_000b485c + iVar11);\n                pdVar9 = (dwarf_section *)((int)&local_ac->uncompressed_name + local_9c);\n                uVar14 = local_98 + (uint)CARRY4((uint)local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + iVar11) < uVar14 ||\n                    *(uint *)(&DAT_000b4860 + iVar11) - uVar14 <\n                    (uint)(pcVar13 < (char *)((int)&local_ac->uncompressed_name + local_9c))) {\n                  pcVar17 = (char *)dcgettext(0,\n                                              "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                              ,5);\n                  warn(pcVar17,pdVar9,pcVar13);\n                  in_stack_fffffee8 = (char *)pdVar9;\n                }\n                else if (first_abbrev == (abbrev_entry *)0x0) {\n                  puVar29 = (uchar *)0x57341;\n                  process_abbrev_section\n                            ((uchar *)((int)&local_b0->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11) + local_9c),\n                             (uchar *)((int)&pdVar9->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11)));\n                }\n              }\n              else {\n                pcVar13 = (char *)dcgettext(0,\n                                            "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                            ,5);\n                warn(pcVar13,local_b0,local_ac);\n                in_stack_fffffee8 = (char *)local_b0;\n              }" if (parenthesized_expression "(local_a0 < (local_b0 < local_ac))" ( (binary_expression "local_a0 < (local_b0 < local_ac)" identifier < (parenthesized_expression "(local_b0 < local_ac)" ( (binary_expression "local_b0 < local_ac" identifier < identifier) ))) )) (compound_statement "{\n                iVar11 = abbrev_sec * 0x40;\n                pcVar13 = *(char **)(&DAT_000b485c + iVar11);\n                pdVar9 = (dwarf_section *)((int)&local_ac->uncompressed_name + local_9c);\n                uVar14 = local_98 + (uint)CARRY4((uint)local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + iVar11) < uVar14 ||\n                    *(uint *)(&DAT_000b4860 + iVar11) - uVar14 <\n                    (uint)(pcVar13 < (char *)((int)&local_ac->uncompressed_name + local_9c))) {\n                  pcVar17 = (char *)dcgettext(0,\n                                              "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                              ,5);\n                  warn(pcVar17,pdVar9,pcVar13);\n                  in_stack_fffffee8 = (char *)pdVar9;\n                }\n                else if (first_abbrev == (abbrev_entry *)0x0) {\n                  puVar29 = (uchar *)0x57341;\n                  process_abbrev_section\n                            ((uchar *)((int)&local_b0->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11) + local_9c),\n                             (uchar *)((int)&pdVar9->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11)));\n                }\n              }" { (expression_statement "iVar11 = abbrev_sec * 0x40;" (assignment_expression "iVar11 = abbrev_sec * 0x40" identifier = (binary_expression "abbrev_sec * 0x40" identifier * number_literal)) ;) (expression_statement "pcVar13 = *(char **)(&DAT_000b485c + iVar11);" (assignment_expression "pcVar13 = *(char **)(&DAT_000b485c + iVar11)" identifier = (pointer_expression "*(char **)(&DAT_000b485c + iVar11)" * (cast_expression "(char **)(&DAT_000b485c + iVar11)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&DAT_000b485c + iVar11)" ( (binary_expression "&DAT_000b485c + iVar11" (pointer_expression "&DAT_000b485c" & identifier) + identifier) ))))) ;) (expression_statement "pdVar9 = (dwarf_section *)((int)&local_ac->uncompressed_name + local_9c);" (assignment_expression "pdVar9 = (dwarf_section *)((int)&local_ac->uncompressed_name + local_9c)" identifier = (cast_expression "(dwarf_section *)((int)&local_ac->uncompressed_name + local_9c)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_ac->uncompressed_name + local_9c)" ( (binary_expression "(int)&local_ac->uncompressed_name + local_9c" (cast_expression "(int)&local_ac->uncompressed_name" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_ac->uncompressed_name" & (field_expression "local_ac->uncompressed_name" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "uVar14 = local_98 + (uint)CARRY4((uint)local_ac,local_9c);" (assignment_expression "uVar14 = local_98 + (uint)CARRY4((uint)local_ac,local_9c)" identifier = (binary_expression "local_98 + (uint)CARRY4((uint)local_ac,local_9c)" identifier + (cast_expression "(uint)CARRY4((uint)local_ac,local_9c)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)local_ac,local_9c)" identifier (argument_list "((uint)local_ac,local_9c)" ( (cast_expression "(uint)local_ac" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier )))))) ;) (if_statement "if (*(uint *)(&DAT_000b4860 + iVar11) < uVar14 ||\n                    *(uint *)(&DAT_000b4860 + iVar11) - uVar14 <\n                    (uint)(pcVar13 < (char *)((int)&local_ac->uncompressed_name + local_9c))) {\n                  pcVar17 = (char *)dcgettext(0,\n                                              "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                              ,5);\n                  warn(pcVar17,pdVar9,pcVar13);\n                  in_stack_fffffee8 = (char *)pdVar9;\n                }\n                else if (first_abbrev == (abbrev_entry *)0x0) {\n                  puVar29 = (uchar *)0x57341;\n                  process_abbrev_section\n                            ((uchar *)((int)&local_b0->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11) + local_9c),\n                             (uchar *)((int)&pdVar9->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11)));\n                }" if (parenthesized_expression "(*(uint *)(&DAT_000b4860 + iVar11) < uVar14 ||\n                    *(uint *)(&DAT_000b4860 + iVar11) - uVar14 <\n                    (uint)(pcVar13 < (char *)((int)&local_ac->uncompressed_name + local_9c)))" ( (binary_expression "*(uint *)(&DAT_000b4860 + iVar11) < uVar14 ||\n                    *(uint *)(&DAT_000b4860 + iVar11) - uVar14 <\n                    (uint)(pcVar13 < (char *)((int)&local_ac->uncompressed_name + local_9c))" (binary_expression "*(uint *)(&DAT_000b4860 + iVar11) < uVar14" (pointer_expression "*(uint *)(&DAT_000b4860 + iVar11)" * (cast_expression "(uint *)(&DAT_000b4860 + iVar11)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_000b4860 + iVar11)" ( (binary_expression "&DAT_000b4860 + iVar11" (pointer_expression "&DAT_000b4860" & identifier) + identifier) )))) < identifier) || (binary_expression "*(uint *)(&DAT_000b4860 + iVar11) - uVar14 <\n                    (uint)(pcVar13 < (char *)((int)&local_ac->uncompressed_name + local_9c))" (binary_expression "*(uint *)(&DAT_000b4860 + iVar11) - uVar14" (pointer_expression "*(uint *)(&DAT_000b4860 + iVar11)" * (cast_expression "(uint *)(&DAT_000b4860 + iVar11)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_000b4860 + iVar11)" ( (binary_expression "&DAT_000b4860 + iVar11" (pointer_expression "&DAT_000b4860" & identifier) + identifier) )))) - identifier) < (call_expression "(uint)(pcVar13 < (char *)((int)&local_ac->uncompressed_name + local_9c))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar13 < (char *)((int)&local_ac->uncompressed_name + local_9c))" ( (binary_expression "pcVar13 < (char *)((int)&local_ac->uncompressed_name + local_9c)" identifier < (cast_expression "(char *)((int)&local_ac->uncompressed_name + local_9c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_ac->uncompressed_name + local_9c)" ( (binary_expression "(int)&local_ac->uncompressed_name + local_9c" (cast_expression "(int)&local_ac->uncompressed_name" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_ac->uncompressed_name" & (field_expression "local_ac->uncompressed_name" identifier -> field_identifier))) + identifier) )))) ))))) )) (compound_statement "{\n                  pcVar17 = (char *)dcgettext(0,\n                                              "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                              ,5);\n                  warn(pcVar17,pdVar9,pcVar13);\n                  in_stack_fffffee8 = (char *)pdVar9;\n                }" { (expression_statement "pcVar17 = (char *)dcgettext(0,\n                                              "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                              ,5);" (assignment_expression "pcVar17 = (char *)dcgettext(0,\n                                              "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                              ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                              "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                              ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                              "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                              ,5)" identifier (argument_list "(0,\n                                              "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                              ,5)" ( number_literal , (string_literal ""Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar17,pdVar9,pcVar13);" (call_expression "warn(pcVar17,pdVar9,pcVar13)" identifier (argument_list "(pcVar17,pdVar9,pcVar13)" ( identifier , identifier , identifier ))) ;) (expression_statement "in_stack_fffffee8 = (char *)pdVar9;" (assignment_expression "in_stack_fffffee8 = (char *)pdVar9" identifier = (cast_expression "(char *)pdVar9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else if (first_abbrev == (abbrev_entry *)0x0) {\n                  puVar29 = (uchar *)0x57341;\n                  process_abbrev_section\n                            ((uchar *)((int)&local_b0->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11) + local_9c),\n                             (uchar *)((int)&pdVar9->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11)));\n                }" else (if_statement "if (first_abbrev == (abbrev_entry *)0x0) {\n                  puVar29 = (uchar *)0x57341;\n                  process_abbrev_section\n                            ((uchar *)((int)&local_b0->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11) + local_9c),\n                             (uchar *)((int)&pdVar9->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11)));\n                }" if (parenthesized_expression "(first_abbrev == (abbrev_entry *)0x0)" ( (binary_expression "first_abbrev == (abbrev_entry *)0x0" identifier == (cast_expression "(abbrev_entry *)0x0" ( (type_descriptor "abbrev_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  puVar29 = (uchar *)0x57341;\n                  process_abbrev_section\n                            ((uchar *)((int)&local_b0->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11) + local_9c),\n                             (uchar *)((int)&pdVar9->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11)));\n                }" { (expression_statement "puVar29 = (uchar *)0x57341;" (assignment_expression "puVar29 = (uchar *)0x57341" identifier = (cast_expression "(uchar *)0x57341" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "process_abbrev_section\n                            ((uchar *)((int)&local_b0->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11) + local_9c),\n                             (uchar *)((int)&pdVar9->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11)));" (call_expression "process_abbrev_section\n                            ((uchar *)((int)&local_b0->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11) + local_9c),\n                             (uchar *)((int)&pdVar9->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11)))" identifier (argument_list "((uchar *)((int)&local_b0->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11) + local_9c),\n                             (uchar *)((int)&pdVar9->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11)))" ( (cast_expression "(uchar *)((int)&local_b0->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11) + local_9c)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_b0->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11) + local_9c)" ( (binary_expression "(int)&local_b0->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11) + local_9c" (binary_expression "(int)&local_b0->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11)" (cast_expression "(int)&local_b0->uncompressed_name" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_b0->uncompressed_name" & (field_expression "local_b0->uncompressed_name" identifier -> field_identifier))) + (pointer_expression "*(int *)(&DAT_000b4850 + iVar11)" * (cast_expression "(int *)(&DAT_000b4850 + iVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_000b4850 + iVar11)" ( (binary_expression "&DAT_000b4850 + iVar11" (pointer_expression "&DAT_000b4850" & identifier) + identifier) ))))) + identifier) ))) , (cast_expression "(uchar *)((int)&pdVar9->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11))" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pdVar9->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11))" ( (binary_expression "(int)&pdVar9->uncompressed_name +\n                                      *(int *)(&DAT_000b4850 + iVar11)" (cast_expression "(int)&pdVar9->uncompressed_name" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pdVar9->uncompressed_name" & (field_expression "pdVar9->uncompressed_name" identifier -> field_identifier))) + (pointer_expression "*(int *)(&DAT_000b4850 + iVar11)" * (cast_expression "(int *)(&DAT_000b4850 + iVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_000b4850 + iVar11)" ( (binary_expression "&DAT_000b4850 + iVar11" (pointer_expression "&DAT_000b4850" & identifier) + identifier) ))))) ))) ))) ;) })))) }) (else_clause "else {\n                pcVar13 = (char *)dcgettext(0,\n                                            "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                            ,5);\n                warn(pcVar13,local_b0,local_ac);\n                in_stack_fffffee8 = (char *)local_b0;\n              }" else (compound_statement "{\n                pcVar13 = (char *)dcgettext(0,\n                                            "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                            ,5);\n                warn(pcVar13,local_b0,local_ac);\n                in_stack_fffffee8 = (char *)local_b0;\n              }" { (expression_statement "pcVar13 = (char *)dcgettext(0,\n                                            "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                            ,5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,\n                                            "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                            ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                            "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                            ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                            "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                            ,5)" identifier (argument_list "(0,\n                                            "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                            ,5)" ( number_literal , (string_literal ""Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar13,local_b0,local_ac);" (call_expression "warn(pcVar13,local_b0,local_ac)" identifier (argument_list "(pcVar13,local_b0,local_ac)" ( identifier , identifier , identifier ))) ;) (expression_statement "in_stack_fffffee8 = (char *)local_b0;" (assignment_expression "in_stack_fffffee8 = (char *)local_b0" identifier = (cast_expression "(char *)local_b0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (if_statement "if (puVar16 < local_f4) {\n                local_78 = (dwarf_section *)0xffffffff;\n                local_70 = (dwarf_section *)0x0;\n                local_d4 = (dwarf_section *)0x0;\n                do {\n                  pdVar12 = (dwarf_section *)(puVar16 + -(int)puVar1);\n                  pdVar9 = (dwarf_section *)0x0;\n                  in_stack_fffffee8 = buf;\n                  puVar29 = local_f4;\n                  dVar28 = read_leb128(puVar16,(uint *)buf,0,local_f4);\n                  uVar15 = (ulong)dVar28;\n                  puVar16 = puVar16 + buf._0_4_;\n                  if (uVar15 == 0) {\n                    if ((local_d4 == (dwarf_section *)0x0) && (end == local_f4)) {\n                      puVar18 = puVar16;\n                      if (puVar16 < local_f4) {\n                        while (*puVar18 == '\0') {\n                          puVar18 = puVar18 + 1;\n                          if (local_f4 == puVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == puVar16) break;\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         ((0 < dwarf_cutoff_level || (dwarf_cutoff_level == -1)))) {\n                        pdVar9 = (dwarf_section *)0xffffffff;\nLAB_00057496:\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar13,local_d4,pdVar12);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        if (-1 < (int)pdVar9) goto LAB_00057428;\n                      }\n                      else {\n                        pdVar9 = (dwarf_section *)0xffffffff;\n                        local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      }\nLAB_000574d0:\n                      in_stack_fffffee8 = (char *)local_d4;\n                      if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                          lexical_block_12_26_8::num_bogus_warns < 3) {\n                        pcVar13 = section->name;\n                        pcVar17 = (char *)dcgettext(0,\n                                                  "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                                  ,5);\n                        warn(pcVar17,pdVar12,pcVar13);\n                        process_debug_info::lexical_block_12::lexical_block_12_26::\n                        lexical_block_12_26_8::num_bogus_warns =\n                             process_debug_info::lexical_block_12::lexical_block_12_26::\n                             lexical_block_12_26_8::num_bogus_warns + 1;\n                        in_stack_fffffee8 = (char *)pdVar12;\n                        if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                            lexical_block_12_26_8::num_bogus_warns == 3) {\n                          in_stack_fffffee8 =\n                               "Further warnings about bogus end-of-sibling markers suppressed\n";\n                          pcVar13 = (char *)dcgettext(0,\n                                                  "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                                  ,5);\n                          warn(pcVar13);\n                        }\n                      }\n                    }\n                    else {\n                      pdVar9 = (dwarf_section *)((int)&local_d4[-1].user_data + 3);\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         (((int)local_d4 < dwarf_cutoff_level || (dwarf_cutoff_level == -1))))\n                      goto LAB_00057496;\n                      local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      if ((int)pdVar9 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = pdVar9;\n                    if ((dwarf_start_die != 0) && ((int)pdVar9 < (int)local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (do_loc == 0) {\n                      if (dwarf_start_die != 0) {\n                        if (pdVar12 < dwarf_start_die) {\n                          bVar20 = false;\n                          iVar11 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if ((dwarf_section *)dwarf_start_die == pdVar12) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar20 = dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level;\n                      if (dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level) {\n                        in_stack_fffffee8 = " <%d><%lx>: Abbrev Number: %lu";\n                        pdVar9 = (dwarf_section *)0x5;\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar13,local_d4,pdVar12,uVar15);\n                        local_70 = local_d4;\n                        iVar11 = 1;\n                      }\n                      else if ((int)local_70 < dwarf_cutoff_level) {\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        pdVar9 = pdVar12;\n                        printf(pcVar13,local_d4,pdVar12);\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                    }\n                    else {\n                      bVar20 = false;\n                      iVar11 = do_loc;\n                    }\nLAB_0005783c:\n                    if (first_abbrev == (abbrev_entry *)0x0) {\nLAB_00057dbe:\n                      if (bVar20) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      pcVar13 = (char *)dcgettext(0,\n                                                  "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                                  ,5);\n                      warn(pcVar13,pdVar12,uVar15);\n                      return 0;\n                    }\n                    uVar3 = first_abbrev->entry;\n                    paVar4 = first_abbrev;\n                    while (uVar3 != uVar15) {\n                      paVar4 = paVar4->next;\n                      if (paVar4 == (abbrev_entry *)0x0) goto LAB_00057dbe;\n                      uVar3 = paVar4->entry;\n                    }\n                    uVar15 = paVar4->tag;\n                    if (bVar20) {\n                      puVar29 = (uchar *)0x57bcc;\n                      in_stack_fffffee8 = get_TAG_name(uVar15);\n                      printf(" (%s)\n",in_stack_fffffee8,pdVar9);\n                      uVar15 = paVar4->tag;\n                    }\n                    if (uVar15 == 0x11) {\n                      need_base_address = 1;\n                      need_dwo_info = do_loc;\n                    }\n                    else if ((uVar15 == 0x2e) || (uVar15 == 3)) {\n                      need_base_address = 0;\n                      have_frame_base = 0;\n                    }\n                    else {\n                      need_base_address = 0;\n                    }\n                    if (((debug_information == (debug_info *)0x0) ||\n                        (alloc_num_debug_info_entries <= local_a4)) ||\n                       (pdVar24 = debug_information + local_a4, pdVar24 == (debug_info *)0x0)) {\n                      paVar25 = paVar4->first_attr;\n                      if ((paVar25 != (abbrev_attr *)0x0) &&\n                         (pdVar24 = (debug_info *)0x0, paVar25->attribute != 0)) {\nLAB_000578fa:\n                        local_bc = ZEXT48(local_f0);\n                        do {\n                          if (bVar20) {\n                            printf("    <%lx>",(int)puVar16 - (int)puVar1);\n                          }\n                          uVar15 = paVar25->form;\n                          implicit_const = paVar25->implicit_const;\n                          uVar3 = paVar25->attribute;\n                          if (iVar11 == 1 && do_loc == 0) {\n                            puVar29 = (uchar *)0x579ff;\n                            in_stack_fffffee8 = get_AT_name(uVar3);\n                            printf("   %-18s:");\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,\n                                                 ' ');\n                            putchar(10);\n                            paVar25 = paVar25->next;\n                          }\n                          else {\n                            puVar29 = (uchar *)0x20;\n                            in_stack_fffffee8 = (char *)section;\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ');\n                            paVar25 = paVar25->next;\n                          }\n                        } while ((paVar25 != (abbrev_attr *)0x0) && (paVar25->attribute != 0));\n                        if (pdVar24 != (debug_info *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (pdVar24->num_loc_offsets != pdVar24->num_loc_views) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      paVar25 = paVar4->first_attr;\n                      if (paVar25 != (abbrev_attr *)0x0) {\n                        if (paVar25->attribute != 0) goto LAB_000578fa;\nLAB_00057a88:\n                        uVar14 = pdVar24->num_loc_offsets;\n                        uVar22 = pdVar24->num_loc_views;\n                        if (uVar14 - uVar22 == 1) {\n                          pdVar6 = pdVar24->loc_views;\n                          *(undefined4 *)(pdVar6 + uVar22) = 0xffffffff;\n                          *(undefined4 *)((int)pdVar6 + uVar22 * 8 + 4) = 0xffffffff;\n                          pdVar24->num_loc_views = uVar22 + 1;\n                          if (uVar22 + 1 != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (uVar14 != uVar22) {\n                          if (uVar14 - uVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          in_stack_fffffee8 = "DIE has locviews without loclist\n";\n                          pcVar13 = (char *)dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(pcVar13);\n                          pdVar24->num_loc_views = pdVar24->num_loc_views - 1;\n                        }\n                      }\n                    }\n                    local_d4 = (dwarf_section *)\n                               ((int)&local_d4->uncompressed_name + (uint)(paVar4->children != 0));\n                  }\n                } while (puVar16 < local_f4);\n              }" if (parenthesized_expression "(puVar16 < local_f4)" ( (binary_expression "puVar16 < local_f4" identifier < identifier) )) (compound_statement "{\n                local_78 = (dwarf_section *)0xffffffff;\n                local_70 = (dwarf_section *)0x0;\n                local_d4 = (dwarf_section *)0x0;\n                do {\n                  pdVar12 = (dwarf_section *)(puVar16 + -(int)puVar1);\n                  pdVar9 = (dwarf_section *)0x0;\n                  in_stack_fffffee8 = buf;\n                  puVar29 = local_f4;\n                  dVar28 = read_leb128(puVar16,(uint *)buf,0,local_f4);\n                  uVar15 = (ulong)dVar28;\n                  puVar16 = puVar16 + buf._0_4_;\n                  if (uVar15 == 0) {\n                    if ((local_d4 == (dwarf_section *)0x0) && (end == local_f4)) {\n                      puVar18 = puVar16;\n                      if (puVar16 < local_f4) {\n                        while (*puVar18 == '\0') {\n                          puVar18 = puVar18 + 1;\n                          if (local_f4 == puVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == puVar16) break;\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         ((0 < dwarf_cutoff_level || (dwarf_cutoff_level == -1)))) {\n                        pdVar9 = (dwarf_section *)0xffffffff;\nLAB_00057496:\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar13,local_d4,pdVar12);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        if (-1 < (int)pdVar9) goto LAB_00057428;\n                      }\n                      else {\n                        pdVar9 = (dwarf_section *)0xffffffff;\n                        local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      }\nLAB_000574d0:\n                      in_stack_fffffee8 = (char *)local_d4;\n                      if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                          lexical_block_12_26_8::num_bogus_warns < 3) {\n                        pcVar13 = section->name;\n                        pcVar17 = (char *)dcgettext(0,\n                                                  "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                                  ,5);\n                        warn(pcVar17,pdVar12,pcVar13);\n                        process_debug_info::lexical_block_12::lexical_block_12_26::\n                        lexical_block_12_26_8::num_bogus_warns =\n                             process_debug_info::lexical_block_12::lexical_block_12_26::\n                             lexical_block_12_26_8::num_bogus_warns + 1;\n                        in_stack_fffffee8 = (char *)pdVar12;\n                        if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                            lexical_block_12_26_8::num_bogus_warns == 3) {\n                          in_stack_fffffee8 =\n                               "Further warnings about bogus end-of-sibling markers suppressed\n";\n                          pcVar13 = (char *)dcgettext(0,\n                                                  "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                                  ,5);\n                          warn(pcVar13);\n                        }\n                      }\n                    }\n                    else {\n                      pdVar9 = (dwarf_section *)((int)&local_d4[-1].user_data + 3);\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         (((int)local_d4 < dwarf_cutoff_level || (dwarf_cutoff_level == -1))))\n                      goto LAB_00057496;\n                      local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      if ((int)pdVar9 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = pdVar9;\n                    if ((dwarf_start_die != 0) && ((int)pdVar9 < (int)local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (do_loc == 0) {\n                      if (dwarf_start_die != 0) {\n                        if (pdVar12 < dwarf_start_die) {\n                          bVar20 = false;\n                          iVar11 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if ((dwarf_section *)dwarf_start_die == pdVar12) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar20 = dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level;\n                      if (dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level) {\n                        in_stack_fffffee8 = " <%d><%lx>: Abbrev Number: %lu";\n                        pdVar9 = (dwarf_section *)0x5;\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar13,local_d4,pdVar12,uVar15);\n                        local_70 = local_d4;\n                        iVar11 = 1;\n                      }\n                      else if ((int)local_70 < dwarf_cutoff_level) {\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        pdVar9 = pdVar12;\n                        printf(pcVar13,local_d4,pdVar12);\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                    }\n                    else {\n                      bVar20 = false;\n                      iVar11 = do_loc;\n                    }\nLAB_0005783c:\n                    if (first_abbrev == (abbrev_entry *)0x0) {\nLAB_00057dbe:\n                      if (bVar20) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      pcVar13 = (char *)dcgettext(0,\n                                                  "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                                  ,5);\n                      warn(pcVar13,pdVar12,uVar15);\n                      return 0;\n                    }\n                    uVar3 = first_abbrev->entry;\n                    paVar4 = first_abbrev;\n                    while (uVar3 != uVar15) {\n                      paVar4 = paVar4->next;\n                      if (paVar4 == (abbrev_entry *)0x0) goto LAB_00057dbe;\n                      uVar3 = paVar4->entry;\n                    }\n                    uVar15 = paVar4->tag;\n                    if (bVar20) {\n                      puVar29 = (uchar *)0x57bcc;\n                      in_stack_fffffee8 = get_TAG_name(uVar15);\n                      printf(" (%s)\n",in_stack_fffffee8,pdVar9);\n                      uVar15 = paVar4->tag;\n                    }\n                    if (uVar15 == 0x11) {\n                      need_base_address = 1;\n                      need_dwo_info = do_loc;\n                    }\n                    else if ((uVar15 == 0x2e) || (uVar15 == 3)) {\n                      need_base_address = 0;\n                      have_frame_base = 0;\n                    }\n                    else {\n                      need_base_address = 0;\n                    }\n                    if (((debug_information == (debug_info *)0x0) ||\n                        (alloc_num_debug_info_entries <= local_a4)) ||\n                       (pdVar24 = debug_information + local_a4, pdVar24 == (debug_info *)0x0)) {\n                      paVar25 = paVar4->first_attr;\n                      if ((paVar25 != (abbrev_attr *)0x0) &&\n                         (pdVar24 = (debug_info *)0x0, paVar25->attribute != 0)) {\nLAB_000578fa:\n                        local_bc = ZEXT48(local_f0);\n                        do {\n                          if (bVar20) {\n                            printf("    <%lx>",(int)puVar16 - (int)puVar1);\n                          }\n                          uVar15 = paVar25->form;\n                          implicit_const = paVar25->implicit_const;\n                          uVar3 = paVar25->attribute;\n                          if (iVar11 == 1 && do_loc == 0) {\n                            puVar29 = (uchar *)0x579ff;\n                            in_stack_fffffee8 = get_AT_name(uVar3);\n                            printf("   %-18s:");\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,\n                                                 ' ');\n                            putchar(10);\n                            paVar25 = paVar25->next;\n                          }\n                          else {\n                            puVar29 = (uchar *)0x20;\n                            in_stack_fffffee8 = (char *)section;\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ');\n                            paVar25 = paVar25->next;\n                          }\n                        } while ((paVar25 != (abbrev_attr *)0x0) && (paVar25->attribute != 0));\n                        if (pdVar24 != (debug_info *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (pdVar24->num_loc_offsets != pdVar24->num_loc_views) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      paVar25 = paVar4->first_attr;\n                      if (paVar25 != (abbrev_attr *)0x0) {\n                        if (paVar25->attribute != 0) goto LAB_000578fa;\nLAB_00057a88:\n                        uVar14 = pdVar24->num_loc_offsets;\n                        uVar22 = pdVar24->num_loc_views;\n                        if (uVar14 - uVar22 == 1) {\n                          pdVar6 = pdVar24->loc_views;\n                          *(undefined4 *)(pdVar6 + uVar22) = 0xffffffff;\n                          *(undefined4 *)((int)pdVar6 + uVar22 * 8 + 4) = 0xffffffff;\n                          pdVar24->num_loc_views = uVar22 + 1;\n                          if (uVar22 + 1 != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (uVar14 != uVar22) {\n                          if (uVar14 - uVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          in_stack_fffffee8 = "DIE has locviews without loclist\n";\n                          pcVar13 = (char *)dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(pcVar13);\n                          pdVar24->num_loc_views = pdVar24->num_loc_views - 1;\n                        }\n                      }\n                    }\n                    local_d4 = (dwarf_section *)\n                               ((int)&local_d4->uncompressed_name + (uint)(paVar4->children != 0));\n                  }\n                } while (puVar16 < local_f4);\n              }" { (expression_statement "local_78 = (dwarf_section *)0xffffffff;" (assignment_expression "local_78 = (dwarf_section *)0xffffffff" identifier = (cast_expression "(dwarf_section *)0xffffffff" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_70 = (dwarf_section *)0x0;" (assignment_expression "local_70 = (dwarf_section *)0x0" identifier = (cast_expression "(dwarf_section *)0x0" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_d4 = (dwarf_section *)0x0;" (assignment_expression "local_d4 = (dwarf_section *)0x0" identifier = (cast_expression "(dwarf_section *)0x0" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                  pdVar12 = (dwarf_section *)(puVar16 + -(int)puVar1);\n                  pdVar9 = (dwarf_section *)0x0;\n                  in_stack_fffffee8 = buf;\n                  puVar29 = local_f4;\n                  dVar28 = read_leb128(puVar16,(uint *)buf,0,local_f4);\n                  uVar15 = (ulong)dVar28;\n                  puVar16 = puVar16 + buf._0_4_;\n                  if (uVar15 == 0) {\n                    if ((local_d4 == (dwarf_section *)0x0) && (end == local_f4)) {\n                      puVar18 = puVar16;\n                      if (puVar16 < local_f4) {\n                        while (*puVar18 == '\0') {\n                          puVar18 = puVar18 + 1;\n                          if (local_f4 == puVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == puVar16) break;\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         ((0 < dwarf_cutoff_level || (dwarf_cutoff_level == -1)))) {\n                        pdVar9 = (dwarf_section *)0xffffffff;\nLAB_00057496:\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar13,local_d4,pdVar12);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        if (-1 < (int)pdVar9) goto LAB_00057428;\n                      }\n                      else {\n                        pdVar9 = (dwarf_section *)0xffffffff;\n                        local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      }\nLAB_000574d0:\n                      in_stack_fffffee8 = (char *)local_d4;\n                      if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                          lexical_block_12_26_8::num_bogus_warns < 3) {\n                        pcVar13 = section->name;\n                        pcVar17 = (char *)dcgettext(0,\n                                                  "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                                  ,5);\n                        warn(pcVar17,pdVar12,pcVar13);\n                        process_debug_info::lexical_block_12::lexical_block_12_26::\n                        lexical_block_12_26_8::num_bogus_warns =\n                             process_debug_info::lexical_block_12::lexical_block_12_26::\n                             lexical_block_12_26_8::num_bogus_warns + 1;\n                        in_stack_fffffee8 = (char *)pdVar12;\n                        if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                            lexical_block_12_26_8::num_bogus_warns == 3) {\n                          in_stack_fffffee8 =\n                               "Further warnings about bogus end-of-sibling markers suppressed\n";\n                          pcVar13 = (char *)dcgettext(0,\n                                                  "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                                  ,5);\n                          warn(pcVar13);\n                        }\n                      }\n                    }\n                    else {\n                      pdVar9 = (dwarf_section *)((int)&local_d4[-1].user_data + 3);\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         (((int)local_d4 < dwarf_cutoff_level || (dwarf_cutoff_level == -1))))\n                      goto LAB_00057496;\n                      local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      if ((int)pdVar9 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = pdVar9;\n                    if ((dwarf_start_die != 0) && ((int)pdVar9 < (int)local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (do_loc == 0) {\n                      if (dwarf_start_die != 0) {\n                        if (pdVar12 < dwarf_start_die) {\n                          bVar20 = false;\n                          iVar11 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if ((dwarf_section *)dwarf_start_die == pdVar12) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar20 = dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level;\n                      if (dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level) {\n                        in_stack_fffffee8 = " <%d><%lx>: Abbrev Number: %lu";\n                        pdVar9 = (dwarf_section *)0x5;\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar13,local_d4,pdVar12,uVar15);\n                        local_70 = local_d4;\n                        iVar11 = 1;\n                      }\n                      else if ((int)local_70 < dwarf_cutoff_level) {\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        pdVar9 = pdVar12;\n                        printf(pcVar13,local_d4,pdVar12);\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                    }\n                    else {\n                      bVar20 = false;\n                      iVar11 = do_loc;\n                    }\nLAB_0005783c:\n                    if (first_abbrev == (abbrev_entry *)0x0) {\nLAB_00057dbe:\n                      if (bVar20) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      pcVar13 = (char *)dcgettext(0,\n                                                  "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                                  ,5);\n                      warn(pcVar13,pdVar12,uVar15);\n                      return 0;\n                    }\n                    uVar3 = first_abbrev->entry;\n                    paVar4 = first_abbrev;\n                    while (uVar3 != uVar15) {\n                      paVar4 = paVar4->next;\n                      if (paVar4 == (abbrev_entry *)0x0) goto LAB_00057dbe;\n                      uVar3 = paVar4->entry;\n                    }\n                    uVar15 = paVar4->tag;\n                    if (bVar20) {\n                      puVar29 = (uchar *)0x57bcc;\n                      in_stack_fffffee8 = get_TAG_name(uVar15);\n                      printf(" (%s)\n",in_stack_fffffee8,pdVar9);\n                      uVar15 = paVar4->tag;\n                    }\n                    if (uVar15 == 0x11) {\n                      need_base_address = 1;\n                      need_dwo_info = do_loc;\n                    }\n                    else if ((uVar15 == 0x2e) || (uVar15 == 3)) {\n                      need_base_address = 0;\n                      have_frame_base = 0;\n                    }\n                    else {\n                      need_base_address = 0;\n                    }\n                    if (((debug_information == (debug_info *)0x0) ||\n                        (alloc_num_debug_info_entries <= local_a4)) ||\n                       (pdVar24 = debug_information + local_a4, pdVar24 == (debug_info *)0x0)) {\n                      paVar25 = paVar4->first_attr;\n                      if ((paVar25 != (abbrev_attr *)0x0) &&\n                         (pdVar24 = (debug_info *)0x0, paVar25->attribute != 0)) {\nLAB_000578fa:\n                        local_bc = ZEXT48(local_f0);\n                        do {\n                          if (bVar20) {\n                            printf("    <%lx>",(int)puVar16 - (int)puVar1);\n                          }\n                          uVar15 = paVar25->form;\n                          implicit_const = paVar25->implicit_const;\n                          uVar3 = paVar25->attribute;\n                          if (iVar11 == 1 && do_loc == 0) {\n                            puVar29 = (uchar *)0x579ff;\n                            in_stack_fffffee8 = get_AT_name(uVar3);\n                            printf("   %-18s:");\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,\n                                                 ' ');\n                            putchar(10);\n                            paVar25 = paVar25->next;\n                          }\n                          else {\n                            puVar29 = (uchar *)0x20;\n                            in_stack_fffffee8 = (char *)section;\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ');\n                            paVar25 = paVar25->next;\n                          }\n                        } while ((paVar25 != (abbrev_attr *)0x0) && (paVar25->attribute != 0));\n                        if (pdVar24 != (debug_info *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (pdVar24->num_loc_offsets != pdVar24->num_loc_views) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      paVar25 = paVar4->first_attr;\n                      if (paVar25 != (abbrev_attr *)0x0) {\n                        if (paVar25->attribute != 0) goto LAB_000578fa;\nLAB_00057a88:\n                        uVar14 = pdVar24->num_loc_offsets;\n                        uVar22 = pdVar24->num_loc_views;\n                        if (uVar14 - uVar22 == 1) {\n                          pdVar6 = pdVar24->loc_views;\n                          *(undefined4 *)(pdVar6 + uVar22) = 0xffffffff;\n                          *(undefined4 *)((int)pdVar6 + uVar22 * 8 + 4) = 0xffffffff;\n                          pdVar24->num_loc_views = uVar22 + 1;\n                          if (uVar22 + 1 != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (uVar14 != uVar22) {\n                          if (uVar14 - uVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          in_stack_fffffee8 = "DIE has locviews without loclist\n";\n                          pcVar13 = (char *)dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(pcVar13);\n                          pdVar24->num_loc_views = pdVar24->num_loc_views - 1;\n                        }\n                      }\n                    }\n                    local_d4 = (dwarf_section *)\n                               ((int)&local_d4->uncompressed_name + (uint)(paVar4->children != 0));\n                  }\n                } while (puVar16 < local_f4);" do (compound_statement "{\n                  pdVar12 = (dwarf_section *)(puVar16 + -(int)puVar1);\n                  pdVar9 = (dwarf_section *)0x0;\n                  in_stack_fffffee8 = buf;\n                  puVar29 = local_f4;\n                  dVar28 = read_leb128(puVar16,(uint *)buf,0,local_f4);\n                  uVar15 = (ulong)dVar28;\n                  puVar16 = puVar16 + buf._0_4_;\n                  if (uVar15 == 0) {\n                    if ((local_d4 == (dwarf_section *)0x0) && (end == local_f4)) {\n                      puVar18 = puVar16;\n                      if (puVar16 < local_f4) {\n                        while (*puVar18 == '\0') {\n                          puVar18 = puVar18 + 1;\n                          if (local_f4 == puVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == puVar16) break;\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         ((0 < dwarf_cutoff_level || (dwarf_cutoff_level == -1)))) {\n                        pdVar9 = (dwarf_section *)0xffffffff;\nLAB_00057496:\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar13,local_d4,pdVar12);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        if (-1 < (int)pdVar9) goto LAB_00057428;\n                      }\n                      else {\n                        pdVar9 = (dwarf_section *)0xffffffff;\n                        local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      }\nLAB_000574d0:\n                      in_stack_fffffee8 = (char *)local_d4;\n                      if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                          lexical_block_12_26_8::num_bogus_warns < 3) {\n                        pcVar13 = section->name;\n                        pcVar17 = (char *)dcgettext(0,\n                                                  "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                                  ,5);\n                        warn(pcVar17,pdVar12,pcVar13);\n                        process_debug_info::lexical_block_12::lexical_block_12_26::\n                        lexical_block_12_26_8::num_bogus_warns =\n                             process_debug_info::lexical_block_12::lexical_block_12_26::\n                             lexical_block_12_26_8::num_bogus_warns + 1;\n                        in_stack_fffffee8 = (char *)pdVar12;\n                        if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                            lexical_block_12_26_8::num_bogus_warns == 3) {\n                          in_stack_fffffee8 =\n                               "Further warnings about bogus end-of-sibling markers suppressed\n";\n                          pcVar13 = (char *)dcgettext(0,\n                                                  "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                                  ,5);\n                          warn(pcVar13);\n                        }\n                      }\n                    }\n                    else {\n                      pdVar9 = (dwarf_section *)((int)&local_d4[-1].user_data + 3);\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         (((int)local_d4 < dwarf_cutoff_level || (dwarf_cutoff_level == -1))))\n                      goto LAB_00057496;\n                      local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      if ((int)pdVar9 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = pdVar9;\n                    if ((dwarf_start_die != 0) && ((int)pdVar9 < (int)local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (do_loc == 0) {\n                      if (dwarf_start_die != 0) {\n                        if (pdVar12 < dwarf_start_die) {\n                          bVar20 = false;\n                          iVar11 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if ((dwarf_section *)dwarf_start_die == pdVar12) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar20 = dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level;\n                      if (dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level) {\n                        in_stack_fffffee8 = " <%d><%lx>: Abbrev Number: %lu";\n                        pdVar9 = (dwarf_section *)0x5;\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar13,local_d4,pdVar12,uVar15);\n                        local_70 = local_d4;\n                        iVar11 = 1;\n                      }\n                      else if ((int)local_70 < dwarf_cutoff_level) {\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        pdVar9 = pdVar12;\n                        printf(pcVar13,local_d4,pdVar12);\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                    }\n                    else {\n                      bVar20 = false;\n                      iVar11 = do_loc;\n                    }\nLAB_0005783c:\n                    if (first_abbrev == (abbrev_entry *)0x0) {\nLAB_00057dbe:\n                      if (bVar20) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      pcVar13 = (char *)dcgettext(0,\n                                                  "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                                  ,5);\n                      warn(pcVar13,pdVar12,uVar15);\n                      return 0;\n                    }\n                    uVar3 = first_abbrev->entry;\n                    paVar4 = first_abbrev;\n                    while (uVar3 != uVar15) {\n                      paVar4 = paVar4->next;\n                      if (paVar4 == (abbrev_entry *)0x0) goto LAB_00057dbe;\n                      uVar3 = paVar4->entry;\n                    }\n                    uVar15 = paVar4->tag;\n                    if (bVar20) {\n                      puVar29 = (uchar *)0x57bcc;\n                      in_stack_fffffee8 = get_TAG_name(uVar15);\n                      printf(" (%s)\n",in_stack_fffffee8,pdVar9);\n                      uVar15 = paVar4->tag;\n                    }\n                    if (uVar15 == 0x11) {\n                      need_base_address = 1;\n                      need_dwo_info = do_loc;\n                    }\n                    else if ((uVar15 == 0x2e) || (uVar15 == 3)) {\n                      need_base_address = 0;\n                      have_frame_base = 0;\n                    }\n                    else {\n                      need_base_address = 0;\n                    }\n                    if (((debug_information == (debug_info *)0x0) ||\n                        (alloc_num_debug_info_entries <= local_a4)) ||\n                       (pdVar24 = debug_information + local_a4, pdVar24 == (debug_info *)0x0)) {\n                      paVar25 = paVar4->first_attr;\n                      if ((paVar25 != (abbrev_attr *)0x0) &&\n                         (pdVar24 = (debug_info *)0x0, paVar25->attribute != 0)) {\nLAB_000578fa:\n                        local_bc = ZEXT48(local_f0);\n                        do {\n                          if (bVar20) {\n                            printf("    <%lx>",(int)puVar16 - (int)puVar1);\n                          }\n                          uVar15 = paVar25->form;\n                          implicit_const = paVar25->implicit_const;\n                          uVar3 = paVar25->attribute;\n                          if (iVar11 == 1 && do_loc == 0) {\n                            puVar29 = (uchar *)0x579ff;\n                            in_stack_fffffee8 = get_AT_name(uVar3);\n                            printf("   %-18s:");\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,\n                                                 ' ');\n                            putchar(10);\n                            paVar25 = paVar25->next;\n                          }\n                          else {\n                            puVar29 = (uchar *)0x20;\n                            in_stack_fffffee8 = (char *)section;\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ');\n                            paVar25 = paVar25->next;\n                          }\n                        } while ((paVar25 != (abbrev_attr *)0x0) && (paVar25->attribute != 0));\n                        if (pdVar24 != (debug_info *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (pdVar24->num_loc_offsets != pdVar24->num_loc_views) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      paVar25 = paVar4->first_attr;\n                      if (paVar25 != (abbrev_attr *)0x0) {\n                        if (paVar25->attribute != 0) goto LAB_000578fa;\nLAB_00057a88:\n                        uVar14 = pdVar24->num_loc_offsets;\n                        uVar22 = pdVar24->num_loc_views;\n                        if (uVar14 - uVar22 == 1) {\n                          pdVar6 = pdVar24->loc_views;\n                          *(undefined4 *)(pdVar6 + uVar22) = 0xffffffff;\n                          *(undefined4 *)((int)pdVar6 + uVar22 * 8 + 4) = 0xffffffff;\n                          pdVar24->num_loc_views = uVar22 + 1;\n                          if (uVar22 + 1 != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (uVar14 != uVar22) {\n                          if (uVar14 - uVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          in_stack_fffffee8 = "DIE has locviews without loclist\n";\n                          pcVar13 = (char *)dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(pcVar13);\n                          pdVar24->num_loc_views = pdVar24->num_loc_views - 1;\n                        }\n                      }\n                    }\n                    local_d4 = (dwarf_section *)\n                               ((int)&local_d4->uncompressed_name + (uint)(paVar4->children != 0));\n                  }\n                }" { (expression_statement "pdVar12 = (dwarf_section *)(puVar16 + -(int)puVar1);" (assignment_expression "pdVar12 = (dwarf_section *)(puVar16 + -(int)puVar1)" identifier = (cast_expression "(dwarf_section *)(puVar16 + -(int)puVar1)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -(int)puVar1)" ( (binary_expression "puVar16 + -(int)puVar1" identifier + (unary_expression "-(int)puVar1" - (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier))) )))) ;) (expression_statement "pdVar9 = (dwarf_section *)0x0;" (assignment_expression "pdVar9 = (dwarf_section *)0x0" identifier = (cast_expression "(dwarf_section *)0x0" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_stack_fffffee8 = buf;" (assignment_expression "in_stack_fffffee8 = buf" identifier = identifier) ;) (expression_statement "puVar29 = local_f4;" (assignment_expression "puVar29 = local_f4" identifier = identifier) ;) (expression_statement "dVar28 = read_leb128(puVar16,(uint *)buf,0,local_f4);" (assignment_expression "dVar28 = read_leb128(puVar16,(uint *)buf,0,local_f4)" identifier = (call_expression "read_leb128(puVar16,(uint *)buf,0,local_f4)" identifier (argument_list "(puVar16,(uint *)buf,0,local_f4)" ( identifier , (cast_expression "(uint *)buf" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , number_literal , identifier )))) ;) (expression_statement "uVar15 = (ulong)dVar28;" (assignment_expression "uVar15 = (ulong)dVar28" identifier = (cast_expression "(ulong)dVar28" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "puVar16 = puVar16 + buf._0_4_;" (assignment_expression "puVar16 = puVar16 + buf._0_4_" identifier = (binary_expression "puVar16 + buf._0_4_" identifier + (field_expression "buf._0_4_" identifier . field_identifier))) ;) (if_statement "if (uVar15 == 0) {\n                    if ((local_d4 == (dwarf_section *)0x0) && (end == local_f4)) {\n                      puVar18 = puVar16;\n                      if (puVar16 < local_f4) {\n                        while (*puVar18 == '\0') {\n                          puVar18 = puVar18 + 1;\n                          if (local_f4 == puVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == puVar16) break;\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         ((0 < dwarf_cutoff_level || (dwarf_cutoff_level == -1)))) {\n                        pdVar9 = (dwarf_section *)0xffffffff;\nLAB_00057496:\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar13,local_d4,pdVar12);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        if (-1 < (int)pdVar9) goto LAB_00057428;\n                      }\n                      else {\n                        pdVar9 = (dwarf_section *)0xffffffff;\n                        local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      }\nLAB_000574d0:\n                      in_stack_fffffee8 = (char *)local_d4;\n                      if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                          lexical_block_12_26_8::num_bogus_warns < 3) {\n                        pcVar13 = section->name;\n                        pcVar17 = (char *)dcgettext(0,\n                                                  "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                                  ,5);\n                        warn(pcVar17,pdVar12,pcVar13);\n                        process_debug_info::lexical_block_12::lexical_block_12_26::\n                        lexical_block_12_26_8::num_bogus_warns =\n                             process_debug_info::lexical_block_12::lexical_block_12_26::\n                             lexical_block_12_26_8::num_bogus_warns + 1;\n                        in_stack_fffffee8 = (char *)pdVar12;\n                        if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                            lexical_block_12_26_8::num_bogus_warns == 3) {\n                          in_stack_fffffee8 =\n                               "Further warnings about bogus end-of-sibling markers suppressed\n";\n                          pcVar13 = (char *)dcgettext(0,\n                                                  "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                                  ,5);\n                          warn(pcVar13);\n                        }\n                      }\n                    }\n                    else {\n                      pdVar9 = (dwarf_section *)((int)&local_d4[-1].user_data + 3);\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         (((int)local_d4 < dwarf_cutoff_level || (dwarf_cutoff_level == -1))))\n                      goto LAB_00057496;\n                      local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      if ((int)pdVar9 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = pdVar9;\n                    if ((dwarf_start_die != 0) && ((int)pdVar9 < (int)local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (do_loc == 0) {\n                      if (dwarf_start_die != 0) {\n                        if (pdVar12 < dwarf_start_die) {\n                          bVar20 = false;\n                          iVar11 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if ((dwarf_section *)dwarf_start_die == pdVar12) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar20 = dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level;\n                      if (dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level) {\n                        in_stack_fffffee8 = " <%d><%lx>: Abbrev Number: %lu";\n                        pdVar9 = (dwarf_section *)0x5;\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar13,local_d4,pdVar12,uVar15);\n                        local_70 = local_d4;\n                        iVar11 = 1;\n                      }\n                      else if ((int)local_70 < dwarf_cutoff_level) {\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        pdVar9 = pdVar12;\n                        printf(pcVar13,local_d4,pdVar12);\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                    }\n                    else {\n                      bVar20 = false;\n                      iVar11 = do_loc;\n                    }\nLAB_0005783c:\n                    if (first_abbrev == (abbrev_entry *)0x0) {\nLAB_00057dbe:\n                      if (bVar20) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      pcVar13 = (char *)dcgettext(0,\n                                                  "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                                  ,5);\n                      warn(pcVar13,pdVar12,uVar15);\n                      return 0;\n                    }\n                    uVar3 = first_abbrev->entry;\n                    paVar4 = first_abbrev;\n                    while (uVar3 != uVar15) {\n                      paVar4 = paVar4->next;\n                      if (paVar4 == (abbrev_entry *)0x0) goto LAB_00057dbe;\n                      uVar3 = paVar4->entry;\n                    }\n                    uVar15 = paVar4->tag;\n                    if (bVar20) {\n                      puVar29 = (uchar *)0x57bcc;\n                      in_stack_fffffee8 = get_TAG_name(uVar15);\n                      printf(" (%s)\n",in_stack_fffffee8,pdVar9);\n                      uVar15 = paVar4->tag;\n                    }\n                    if (uVar15 == 0x11) {\n                      need_base_address = 1;\n                      need_dwo_info = do_loc;\n                    }\n                    else if ((uVar15 == 0x2e) || (uVar15 == 3)) {\n                      need_base_address = 0;\n                      have_frame_base = 0;\n                    }\n                    else {\n                      need_base_address = 0;\n                    }\n                    if (((debug_information == (debug_info *)0x0) ||\n                        (alloc_num_debug_info_entries <= local_a4)) ||\n                       (pdVar24 = debug_information + local_a4, pdVar24 == (debug_info *)0x0)) {\n                      paVar25 = paVar4->first_attr;\n                      if ((paVar25 != (abbrev_attr *)0x0) &&\n                         (pdVar24 = (debug_info *)0x0, paVar25->attribute != 0)) {\nLAB_000578fa:\n                        local_bc = ZEXT48(local_f0);\n                        do {\n                          if (bVar20) {\n                            printf("    <%lx>",(int)puVar16 - (int)puVar1);\n                          }\n                          uVar15 = paVar25->form;\n                          implicit_const = paVar25->implicit_const;\n                          uVar3 = paVar25->attribute;\n                          if (iVar11 == 1 && do_loc == 0) {\n                            puVar29 = (uchar *)0x579ff;\n                            in_stack_fffffee8 = get_AT_name(uVar3);\n                            printf("   %-18s:");\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,\n                                                 ' ');\n                            putchar(10);\n                            paVar25 = paVar25->next;\n                          }\n                          else {\n                            puVar29 = (uchar *)0x20;\n                            in_stack_fffffee8 = (char *)section;\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ');\n                            paVar25 = paVar25->next;\n                          }\n                        } while ((paVar25 != (abbrev_attr *)0x0) && (paVar25->attribute != 0));\n                        if (pdVar24 != (debug_info *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (pdVar24->num_loc_offsets != pdVar24->num_loc_views) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      paVar25 = paVar4->first_attr;\n                      if (paVar25 != (abbrev_attr *)0x0) {\n                        if (paVar25->attribute != 0) goto LAB_000578fa;\nLAB_00057a88:\n                        uVar14 = pdVar24->num_loc_offsets;\n                        uVar22 = pdVar24->num_loc_views;\n                        if (uVar14 - uVar22 == 1) {\n                          pdVar6 = pdVar24->loc_views;\n                          *(undefined4 *)(pdVar6 + uVar22) = 0xffffffff;\n                          *(undefined4 *)((int)pdVar6 + uVar22 * 8 + 4) = 0xffffffff;\n                          pdVar24->num_loc_views = uVar22 + 1;\n                          if (uVar22 + 1 != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (uVar14 != uVar22) {\n                          if (uVar14 - uVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          in_stack_fffffee8 = "DIE has locviews without loclist\n";\n                          pcVar13 = (char *)dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(pcVar13);\n                          pdVar24->num_loc_views = pdVar24->num_loc_views - 1;\n                        }\n                      }\n                    }\n                    local_d4 = (dwarf_section *)\n                               ((int)&local_d4->uncompressed_name + (uint)(paVar4->children != 0));\n                  }" if (parenthesized_expression "(uVar15 == 0)" ( (binary_expression "uVar15 == 0" identifier == number_literal) )) (compound_statement "{\n                    if ((local_d4 == (dwarf_section *)0x0) && (end == local_f4)) {\n                      puVar18 = puVar16;\n                      if (puVar16 < local_f4) {\n                        while (*puVar18 == '\0') {\n                          puVar18 = puVar18 + 1;\n                          if (local_f4 == puVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == puVar16) break;\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         ((0 < dwarf_cutoff_level || (dwarf_cutoff_level == -1)))) {\n                        pdVar9 = (dwarf_section *)0xffffffff;\nLAB_00057496:\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar13,local_d4,pdVar12);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        if (-1 < (int)pdVar9) goto LAB_00057428;\n                      }\n                      else {\n                        pdVar9 = (dwarf_section *)0xffffffff;\n                        local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      }\nLAB_000574d0:\n                      in_stack_fffffee8 = (char *)local_d4;\n                      if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                          lexical_block_12_26_8::num_bogus_warns < 3) {\n                        pcVar13 = section->name;\n                        pcVar17 = (char *)dcgettext(0,\n                                                  "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                                  ,5);\n                        warn(pcVar17,pdVar12,pcVar13);\n                        process_debug_info::lexical_block_12::lexical_block_12_26::\n                        lexical_block_12_26_8::num_bogus_warns =\n                             process_debug_info::lexical_block_12::lexical_block_12_26::\n                             lexical_block_12_26_8::num_bogus_warns + 1;\n                        in_stack_fffffee8 = (char *)pdVar12;\n                        if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                            lexical_block_12_26_8::num_bogus_warns == 3) {\n                          in_stack_fffffee8 =\n                               "Further warnings about bogus end-of-sibling markers suppressed\n";\n                          pcVar13 = (char *)dcgettext(0,\n                                                  "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                                  ,5);\n                          warn(pcVar13);\n                        }\n                      }\n                    }\n                    else {\n                      pdVar9 = (dwarf_section *)((int)&local_d4[-1].user_data + 3);\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         (((int)local_d4 < dwarf_cutoff_level || (dwarf_cutoff_level == -1))))\n                      goto LAB_00057496;\n                      local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      if ((int)pdVar9 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = pdVar9;\n                    if ((dwarf_start_die != 0) && ((int)pdVar9 < (int)local_78)) {\n                      return 1;\n                    }\n                  }" { (if_statement "if ((local_d4 == (dwarf_section *)0x0) && (end == local_f4)) {\n                      puVar18 = puVar16;\n                      if (puVar16 < local_f4) {\n                        while (*puVar18 == '\0') {\n                          puVar18 = puVar18 + 1;\n                          if (local_f4 == puVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == puVar16) break;\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         ((0 < dwarf_cutoff_level || (dwarf_cutoff_level == -1)))) {\n                        pdVar9 = (dwarf_section *)0xffffffff;\nLAB_00057496:\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar13,local_d4,pdVar12);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        if (-1 < (int)pdVar9) goto LAB_00057428;\n                      }\n                      else {\n                        pdVar9 = (dwarf_section *)0xffffffff;\n                        local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      }\nLAB_000574d0:\n                      in_stack_fffffee8 = (char *)local_d4;\n                      if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                          lexical_block_12_26_8::num_bogus_warns < 3) {\n                        pcVar13 = section->name;\n                        pcVar17 = (char *)dcgettext(0,\n                                                  "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                                  ,5);\n                        warn(pcVar17,pdVar12,pcVar13);\n                        process_debug_info::lexical_block_12::lexical_block_12_26::\n                        lexical_block_12_26_8::num_bogus_warns =\n                             process_debug_info::lexical_block_12::lexical_block_12_26::\n                             lexical_block_12_26_8::num_bogus_warns + 1;\n                        in_stack_fffffee8 = (char *)pdVar12;\n                        if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                            lexical_block_12_26_8::num_bogus_warns == 3) {\n                          in_stack_fffffee8 =\n                               "Further warnings about bogus end-of-sibling markers suppressed\n";\n                          pcVar13 = (char *)dcgettext(0,\n                                                  "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                                  ,5);\n                          warn(pcVar13);\n                        }\n                      }\n                    }\n                    else {\n                      pdVar9 = (dwarf_section *)((int)&local_d4[-1].user_data + 3);\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         (((int)local_d4 < dwarf_cutoff_level || (dwarf_cutoff_level == -1))))\n                      goto LAB_00057496;\n                      local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      if ((int)pdVar9 < 0) goto LAB_000574d0;\n                    }" if (parenthesized_expression "((local_d4 == (dwarf_section *)0x0) && (end == local_f4))" ( (binary_expression "(local_d4 == (dwarf_section *)0x0) && (end == local_f4)" (parenthesized_expression "(local_d4 == (dwarf_section *)0x0)" ( (binary_expression "local_d4 == (dwarf_section *)0x0" identifier == (cast_expression "(dwarf_section *)0x0" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(end == local_f4)" ( (binary_expression "end == local_f4" identifier == identifier) ))) )) (compound_statement "{\n                      puVar18 = puVar16;\n                      if (puVar16 < local_f4) {\n                        while (*puVar18 == '\0') {\n                          puVar18 = puVar18 + 1;\n                          if (local_f4 == puVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == puVar16) break;\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         ((0 < dwarf_cutoff_level || (dwarf_cutoff_level == -1)))) {\n                        pdVar9 = (dwarf_section *)0xffffffff;\nLAB_00057496:\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar13,local_d4,pdVar12);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        if (-1 < (int)pdVar9) goto LAB_00057428;\n                      }\n                      else {\n                        pdVar9 = (dwarf_section *)0xffffffff;\n                        local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      }\nLAB_000574d0:\n                      in_stack_fffffee8 = (char *)local_d4;\n                      if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                          lexical_block_12_26_8::num_bogus_warns < 3) {\n                        pcVar13 = section->name;\n                        pcVar17 = (char *)dcgettext(0,\n                                                  "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                                  ,5);\n                        warn(pcVar17,pdVar12,pcVar13);\n                        process_debug_info::lexical_block_12::lexical_block_12_26::\n                        lexical_block_12_26_8::num_bogus_warns =\n                             process_debug_info::lexical_block_12::lexical_block_12_26::\n                             lexical_block_12_26_8::num_bogus_warns + 1;\n                        in_stack_fffffee8 = (char *)pdVar12;\n                        if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                            lexical_block_12_26_8::num_bogus_warns == 3) {\n                          in_stack_fffffee8 =\n                               "Further warnings about bogus end-of-sibling markers suppressed\n";\n                          pcVar13 = (char *)dcgettext(0,\n                                                  "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                                  ,5);\n                          warn(pcVar13);\n                        }\n                      }\n                    }" { (expression_statement "puVar18 = puVar16;" (assignment_expression "puVar18 = puVar16" identifier = identifier) ;) (if_statement "if (puVar16 < local_f4) {\n                        while (*puVar18 == '\0') {\n                          puVar18 = puVar18 + 1;\n                          if (local_f4 == puVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == puVar16) break;" if (parenthesized_expression "(puVar16 < local_f4)" ( (binary_expression "puVar16 < local_f4" identifier < identifier) )) (compound_statement "{\n                        while (*puVar18 == '\0') {\n                          puVar18 = puVar18 + 1;\n                          if (local_f4 == puVar18) goto LAB_00056ae6;\n                        }\n                      }" { (while_statement "while (*puVar18 == '\0') {\n                          puVar18 = puVar18 + 1;\n                          if (local_f4 == puVar18) goto LAB_00056ae6;\n                        }" while (parenthesized_expression "(*puVar18 == '\0')" ( (binary_expression "*puVar18 == '\0'" (pointer_expression "*puVar18" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                          puVar18 = puVar18 + 1;\n                          if (local_f4 == puVar18) goto LAB_00056ae6;\n                        }" { (expression_statement "puVar18 = puVar18 + 1;" (assignment_expression "puVar18 = puVar18 + 1" identifier = (binary_expression "puVar18 + 1" identifier + number_literal)) ;) (if_statement "if (local_f4 == puVar18) goto LAB_00056ae6;" if (parenthesized_expression "(local_f4 == puVar18)" ( (binary_expression "local_f4 == puVar18" identifier == identifier) )) (goto_statement "goto LAB_00056ae6;" goto statement_identifier ;)) })) }) (else_clause "else if (local_f4 == puVar16) break;" else (if_statement "if (local_f4 == puVar16) break;" if (parenthesized_expression "(local_f4 == puVar16)" ( (binary_expression "local_f4 == puVar16" identifier == identifier) )) (break_statement "break;" break ;)))) (if_statement "if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         ((0 < dwarf_cutoff_level || (dwarf_cutoff_level == -1)))) {\n                        pdVar9 = (dwarf_section *)0xffffffff;\nLAB_00057496:\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar13,local_d4,pdVar12);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        if (-1 < (int)pdVar9) goto LAB_00057428;\n                      }\n                      else {\n                        pdVar9 = (dwarf_section *)0xffffffff;\n                        local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      }" if (parenthesized_expression "(((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         ((0 < dwarf_cutoff_level || (dwarf_cutoff_level == -1))))" ( (binary_expression "((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         ((0 < dwarf_cutoff_level || (dwarf_cutoff_level == -1)))" (parenthesized_expression "((do_loc == 0) && (dwarf_start_die <= pdVar12))" ( (binary_expression "(do_loc == 0) && (dwarf_start_die <= pdVar12)" (parenthesized_expression "(do_loc == 0)" ( (binary_expression "do_loc == 0" identifier == number_literal) )) && (parenthesized_expression "(dwarf_start_die <= pdVar12)" ( (binary_expression "dwarf_start_die <= pdVar12" identifier <= identifier) ))) )) && (parenthesized_expression "((0 < dwarf_cutoff_level || (dwarf_cutoff_level == -1)))" ( (parenthesized_expression "(0 < dwarf_cutoff_level || (dwarf_cutoff_level == -1))" ( (binary_expression "0 < dwarf_cutoff_level || (dwarf_cutoff_level == -1)" (binary_expression "0 < dwarf_cutoff_level" number_literal < identifier) || (parenthesized_expression "(dwarf_cutoff_level == -1)" ( (binary_expression "dwarf_cutoff_level == -1" identifier == number_literal) ))) )) ))) )) (compound_statement "{\n                        pdVar9 = (dwarf_section *)0xffffffff;\nLAB_00057496:\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar13,local_d4,pdVar12);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        if (-1 < (int)pdVar9) goto LAB_00057428;\n                      }" { (expression_statement "pdVar9 = (dwarf_section *)0xffffffff;" (assignment_expression "pdVar9 = (dwarf_section *)0xffffffff" identifier = (cast_expression "(dwarf_section *)0xffffffff" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00057496:\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);" statement_identifier : (expression_statement "pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5)" identifier = (cast_expression "(char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5)" identifier (argument_list "(0," <%d><%lx>: Abbrev Number: 0\n",5)" ( number_literal , (string_literal "" <%d><%lx>: Abbrev Number: 0\n"" " string_content escape_sequence ") , number_literal ))))) ;)) (expression_statement "printf(pcVar13,local_d4,pdVar12);" (call_expression "printf(pcVar13,local_d4,pdVar12)" identifier (argument_list "(pcVar13,local_d4,pdVar12)" ( identifier , identifier , identifier ))) ;) (expression_statement "in_stack_fffffee8 = (char *)local_d4;" (assignment_expression "in_stack_fffffee8 = (char *)local_d4" identifier = (cast_expression "(char *)local_d4" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (-1 < (int)pdVar9) goto LAB_00057428;" if (parenthesized_expression "(-1 < (int)pdVar9)" ( (binary_expression "-1 < (int)pdVar9" number_literal < (cast_expression "(int)pdVar9" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00057428;" goto statement_identifier ;)) }) (else_clause "else {\n                        pdVar9 = (dwarf_section *)0xffffffff;\n                        local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      }" else (compound_statement "{\n                        pdVar9 = (dwarf_section *)0xffffffff;\n                        local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      }" { (expression_statement "pdVar9 = (dwarf_section *)0xffffffff;" (assignment_expression "pdVar9 = (dwarf_section *)0xffffffff" identifier = (cast_expression "(dwarf_section *)0xffffffff" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_d4 = (dwarf_section *)in_stack_fffffee8;" (assignment_expression "local_d4 = (dwarf_section *)in_stack_fffffee8" identifier = (cast_expression "(dwarf_section *)in_stack_fffffee8" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (labeled_statement "LAB_000574d0:\n                      in_stack_fffffee8 = (char *)local_d4;" statement_identifier : (expression_statement "in_stack_fffffee8 = (char *)local_d4;" (assignment_expression "in_stack_fffffee8 = (char *)local_d4" identifier = (cast_expression "(char *)local_d4" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (if_statement "if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                          lexical_block_12_26_8::num_bogus_warns < 3) {\n                        pcVar13 = section->name;\n                        pcVar17 = (char *)dcgettext(0,\n                                                  "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                                  ,5);\n                        warn(pcVar17,pdVar12,pcVar13);\n                        process_debug_info::lexical_block_12::lexical_block_12_26::\n                        lexical_block_12_26_8::num_bogus_warns =\n                             process_debug_info::lexical_block_12::lexical_block_12_26::\n                             lexical_block_12_26_8::num_bogus_warns + 1;\n                        in_stack_fffffee8 = (char *)pdVar12;\n                        if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                            lexical_block_12_26_8::num_bogus_warns == 3) {\n                          in_stack_fffffee8 =\n                               "Further warnings about bogus end-of-sibling markers suppressed\n";\n                          pcVar13 = (char *)dcgettext(0,\n                                                  "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                                  ,5);\n                          warn(pcVar13);\n                        }\n                      }" if (parenthesized_expression "(process_debug_info::lexical_block_12::lexical_block_12_26::\n                          lexical_block_12_26_8::num_bogus_warns < 3)" ( (ERROR "process_debug_info::lexical_block_12::lexical_block_12_26::\n                          lexical_block_12_26_8::" identifier : : identifier : : identifier : : identifier : :) (binary_expression "num_bogus_warns < 3" identifier < number_literal) )) (compound_statement "{\n                        pcVar13 = section->name;\n                        pcVar17 = (char *)dcgettext(0,\n                                                  "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                                  ,5);\n                        warn(pcVar17,pdVar12,pcVar13);\n                        process_debug_info::lexical_block_12::lexical_block_12_26::\n                        lexical_block_12_26_8::num_bogus_warns =\n                             process_debug_info::lexical_block_12::lexical_block_12_26::\n                             lexical_block_12_26_8::num_bogus_warns + 1;\n                        in_stack_fffffee8 = (char *)pdVar12;\n                        if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                            lexical_block_12_26_8::num_bogus_warns == 3) {\n                          in_stack_fffffee8 =\n                               "Further warnings about bogus end-of-sibling markers suppressed\n";\n                          pcVar13 = (char *)dcgettext(0,\n                                                  "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                                  ,5);\n                          warn(pcVar13);\n                        }\n                      }" { (expression_statement "pcVar13 = section->name;" (assignment_expression "pcVar13 = section->name" identifier = (field_expression "section->name" identifier -> field_identifier)) ;) (expression_statement "pcVar17 = (char *)dcgettext(0,\n                                                  "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                                  ,5);" (assignment_expression "pcVar17 = (char *)dcgettext(0,\n                                                  "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                                  ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                                  "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                                  ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                                  "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                                  ,5)" identifier (argument_list "(0,\n                                                  "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                                  ,5)" ( number_literal , (string_literal ""Bogus end-of-siblings marker detected at offset %lx in %s section\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar17,pdVar12,pcVar13);" (call_expression "warn(pcVar17,pdVar12,pcVar13)" identifier (argument_list "(pcVar17,pdVar12,pcVar13)" ( identifier , identifier , identifier ))) ;) (labeled_statement "process_debug_info::lexical_block_12::lexical_block_12_26::\n                        lexical_block_12_26_8::num_bogus_warns =\n                             process_debug_info::lexical_block_12::lexical_block_12_26::\n                             lexical_block_12_26_8::num_bogus_warns + 1;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_12::lexical_block_12_26::\n                        lexical_block_12_26_8::num_bogus_warns =\n                             process_debug_info::lexical_block_12::lexical_block_12_26::\n                             lexical_block_12_26_8::num_bogus_warns + 1;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_12_26::\n                        lexical_block_12_26_8::num_bogus_warns =\n                             process_debug_info::lexical_block_12::lexical_block_12_26::\n                             lexical_block_12_26_8::num_bogus_warns + 1;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_12_26_8::num_bogus_warns =\n                             process_debug_info::lexical_block_12::lexical_block_12_26::\n                             lexical_block_12_26_8::num_bogus_warns + 1;" statement_identifier (ERROR "::num_bogus_warns =\n                             process_debug_info:" : : (assignment_expression "num_bogus_warns =\n                             process_debug_info" identifier = identifier) :) : (labeled_statement "lexical_block_12::lexical_block_12_26::\n                             lexical_block_12_26_8::num_bogus_warns + 1;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_12_26::\n                             lexical_block_12_26_8::num_bogus_warns + 1;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_12_26_8::num_bogus_warns + 1;" statement_identifier : (ERROR ":" :) (expression_statement "num_bogus_warns + 1;" (binary_expression "num_bogus_warns + 1" identifier + number_literal) ;)))))))) (expression_statement "in_stack_fffffee8 = (char *)pdVar12;" (assignment_expression "in_stack_fffffee8 = (char *)pdVar12" identifier = (cast_expression "(char *)pdVar12" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (process_debug_info::lexical_block_12::lexical_block_12_26::\n                            lexical_block_12_26_8::num_bogus_warns == 3) {\n                          in_stack_fffffee8 =\n                               "Further warnings about bogus end-of-sibling markers suppressed\n";\n                          pcVar13 = (char *)dcgettext(0,\n                                                  "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                                  ,5);\n                          warn(pcVar13);\n                        }" if (parenthesized_expression "(process_debug_info::lexical_block_12::lexical_block_12_26::\n                            lexical_block_12_26_8::num_bogus_warns == 3)" ( (ERROR "process_debug_info::lexical_block_12::lexical_block_12_26::\n                            lexical_block_12_26_8::" identifier : : identifier : : identifier : : identifier : :) (binary_expression "num_bogus_warns == 3" identifier == number_literal) )) (compound_statement "{\n                          in_stack_fffffee8 =\n                               "Further warnings about bogus end-of-sibling markers suppressed\n";\n                          pcVar13 = (char *)dcgettext(0,\n                                                  "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                                  ,5);\n                          warn(pcVar13);\n                        }" { (expression_statement "in_stack_fffffee8 =\n                               "Further warnings about bogus end-of-sibling markers suppressed\n";" (assignment_expression "in_stack_fffffee8 =\n                               "Further warnings about bogus end-of-sibling markers suppressed\n"" identifier = (string_literal ""Further warnings about bogus end-of-sibling markers suppressed\n"" " string_content escape_sequence ")) ;) (expression_statement "pcVar13 = (char *)dcgettext(0,\n                                                  "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                                  ,5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,\n                                                  "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                                  ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                                  "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                                  ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                                  "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                                  ,5)" identifier (argument_list "(0,\n                                                  "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                                  ,5)" ( number_literal , (string_literal ""Further warnings about bogus end-of-sibling markers suppressed\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar13);" (call_expression "warn(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier ))) ;) })) })) }) (else_clause "else {\n                      pdVar9 = (dwarf_section *)((int)&local_d4[-1].user_data + 3);\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         (((int)local_d4 < dwarf_cutoff_level || (dwarf_cutoff_level == -1))))\n                      goto LAB_00057496;\n                      local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      if ((int)pdVar9 < 0) goto LAB_000574d0;\n                    }" else (compound_statement "{\n                      pdVar9 = (dwarf_section *)((int)&local_d4[-1].user_data + 3);\n                      if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         (((int)local_d4 < dwarf_cutoff_level || (dwarf_cutoff_level == -1))))\n                      goto LAB_00057496;\n                      local_d4 = (dwarf_section *)in_stack_fffffee8;\n                      if ((int)pdVar9 < 0) goto LAB_000574d0;\n                    }" { (expression_statement "pdVar9 = (dwarf_section *)((int)&local_d4[-1].user_data + 3);" (assignment_expression "pdVar9 = (dwarf_section *)((int)&local_d4[-1].user_data + 3)" identifier = (cast_expression "(dwarf_section *)((int)&local_d4[-1].user_data + 3)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_d4[-1].user_data + 3)" ( (binary_expression "(int)&local_d4[-1].user_data + 3" (cast_expression "(int)&local_d4[-1].user_data" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_d4[-1].user_data" & (field_expression "local_d4[-1].user_data" (subscript_expression "local_d4[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (if_statement "if (((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         (((int)local_d4 < dwarf_cutoff_level || (dwarf_cutoff_level == -1))))\n                      goto LAB_00057496;" if (parenthesized_expression "(((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         (((int)local_d4 < dwarf_cutoff_level || (dwarf_cutoff_level == -1))))" ( (binary_expression "((do_loc == 0) && (dwarf_start_die <= pdVar12)) &&\n                         (((int)local_d4 < dwarf_cutoff_level || (dwarf_cutoff_level == -1)))" (parenthesized_expression "((do_loc == 0) && (dwarf_start_die <= pdVar12))" ( (binary_expression "(do_loc == 0) && (dwarf_start_die <= pdVar12)" (parenthesized_expression "(do_loc == 0)" ( (binary_expression "do_loc == 0" identifier == number_literal) )) && (parenthesized_expression "(dwarf_start_die <= pdVar12)" ( (binary_expression "dwarf_start_die <= pdVar12" identifier <= identifier) ))) )) && (parenthesized_expression "(((int)local_d4 < dwarf_cutoff_level || (dwarf_cutoff_level == -1)))" ( (parenthesized_expression "((int)local_d4 < dwarf_cutoff_level || (dwarf_cutoff_level == -1))" ( (binary_expression "(int)local_d4 < dwarf_cutoff_level || (dwarf_cutoff_level == -1)" (binary_expression "(int)local_d4 < dwarf_cutoff_level" (cast_expression "(int)local_d4" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) || (parenthesized_expression "(dwarf_cutoff_level == -1)" ( (binary_expression "dwarf_cutoff_level == -1" identifier == number_literal) ))) )) ))) )) (goto_statement "goto LAB_00057496;" goto statement_identifier ;)) (expression_statement "local_d4 = (dwarf_section *)in_stack_fffffee8;" (assignment_expression "local_d4 = (dwarf_section *)in_stack_fffffee8" identifier = (cast_expression "(dwarf_section *)in_stack_fffffee8" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((int)pdVar9 < 0) goto LAB_000574d0;" if (parenthesized_expression "((int)pdVar9 < 0)" ( (binary_expression "(int)pdVar9 < 0" (cast_expression "(int)pdVar9" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (goto_statement "goto LAB_000574d0;" goto statement_identifier ;)) }))) (labeled_statement "LAB_00057428:\n                    local_d4 = pdVar9;" statement_identifier : (expression_statement "local_d4 = pdVar9;" (assignment_expression "local_d4 = pdVar9" identifier = identifier) ;)) (if_statement "if ((dwarf_start_die != 0) && ((int)pdVar9 < (int)local_78)) {\n                      return 1;\n                    }" if (parenthesized_expression "((dwarf_start_die != 0) && ((int)pdVar9 < (int)local_78))" ( (binary_expression "(dwarf_start_die != 0) && ((int)pdVar9 < (int)local_78)" (parenthesized_expression "(dwarf_start_die != 0)" ( (binary_expression "dwarf_start_die != 0" identifier != number_literal) )) && (parenthesized_expression "((int)pdVar9 < (int)local_78)" ( (binary_expression "(int)pdVar9 < (int)local_78" (cast_expression "(int)pdVar9" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)local_78" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n                      return 1;\n                    }" { (return_statement "return 1;" return number_literal ;) })) }) (else_clause "else {\n                    if (do_loc == 0) {\n                      if (dwarf_start_die != 0) {\n                        if (pdVar12 < dwarf_start_die) {\n                          bVar20 = false;\n                          iVar11 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if ((dwarf_section *)dwarf_start_die == pdVar12) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar20 = dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level;\n                      if (dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level) {\n                        in_stack_fffffee8 = " <%d><%lx>: Abbrev Number: %lu";\n                        pdVar9 = (dwarf_section *)0x5;\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar13,local_d4,pdVar12,uVar15);\n                        local_70 = local_d4;\n                        iVar11 = 1;\n                      }\n                      else if ((int)local_70 < dwarf_cutoff_level) {\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        pdVar9 = pdVar12;\n                        printf(pcVar13,local_d4,pdVar12);\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                    }\n                    else {\n                      bVar20 = false;\n                      iVar11 = do_loc;\n                    }\nLAB_0005783c:\n                    if (first_abbrev == (abbrev_entry *)0x0) {\nLAB_00057dbe:\n                      if (bVar20) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      pcVar13 = (char *)dcgettext(0,\n                                                  "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                                  ,5);\n                      warn(pcVar13,pdVar12,uVar15);\n                      return 0;\n                    }\n                    uVar3 = first_abbrev->entry;\n                    paVar4 = first_abbrev;\n                    while (uVar3 != uVar15) {\n                      paVar4 = paVar4->next;\n                      if (paVar4 == (abbrev_entry *)0x0) goto LAB_00057dbe;\n                      uVar3 = paVar4->entry;\n                    }\n                    uVar15 = paVar4->tag;\n                    if (bVar20) {\n                      puVar29 = (uchar *)0x57bcc;\n                      in_stack_fffffee8 = get_TAG_name(uVar15);\n                      printf(" (%s)\n",in_stack_fffffee8,pdVar9);\n                      uVar15 = paVar4->tag;\n                    }\n                    if (uVar15 == 0x11) {\n                      need_base_address = 1;\n                      need_dwo_info = do_loc;\n                    }\n                    else if ((uVar15 == 0x2e) || (uVar15 == 3)) {\n                      need_base_address = 0;\n                      have_frame_base = 0;\n                    }\n                    else {\n                      need_base_address = 0;\n                    }\n                    if (((debug_information == (debug_info *)0x0) ||\n                        (alloc_num_debug_info_entries <= local_a4)) ||\n                       (pdVar24 = debug_information + local_a4, pdVar24 == (debug_info *)0x0)) {\n                      paVar25 = paVar4->first_attr;\n                      if ((paVar25 != (abbrev_attr *)0x0) &&\n                         (pdVar24 = (debug_info *)0x0, paVar25->attribute != 0)) {\nLAB_000578fa:\n                        local_bc = ZEXT48(local_f0);\n                        do {\n                          if (bVar20) {\n                            printf("    <%lx>",(int)puVar16 - (int)puVar1);\n                          }\n                          uVar15 = paVar25->form;\n                          implicit_const = paVar25->implicit_const;\n                          uVar3 = paVar25->attribute;\n                          if (iVar11 == 1 && do_loc == 0) {\n                            puVar29 = (uchar *)0x579ff;\n                            in_stack_fffffee8 = get_AT_name(uVar3);\n                            printf("   %-18s:");\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,\n                                                 ' ');\n                            putchar(10);\n                            paVar25 = paVar25->next;\n                          }\n                          else {\n                            puVar29 = (uchar *)0x20;\n                            in_stack_fffffee8 = (char *)section;\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ');\n                            paVar25 = paVar25->next;\n                          }\n                        } while ((paVar25 != (abbrev_attr *)0x0) && (paVar25->attribute != 0));\n                        if (pdVar24 != (debug_info *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (pdVar24->num_loc_offsets != pdVar24->num_loc_views) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      paVar25 = paVar4->first_attr;\n                      if (paVar25 != (abbrev_attr *)0x0) {\n                        if (paVar25->attribute != 0) goto LAB_000578fa;\nLAB_00057a88:\n                        uVar14 = pdVar24->num_loc_offsets;\n                        uVar22 = pdVar24->num_loc_views;\n                        if (uVar14 - uVar22 == 1) {\n                          pdVar6 = pdVar24->loc_views;\n                          *(undefined4 *)(pdVar6 + uVar22) = 0xffffffff;\n                          *(undefined4 *)((int)pdVar6 + uVar22 * 8 + 4) = 0xffffffff;\n                          pdVar24->num_loc_views = uVar22 + 1;\n                          if (uVar22 + 1 != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (uVar14 != uVar22) {\n                          if (uVar14 - uVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          in_stack_fffffee8 = "DIE has locviews without loclist\n";\n                          pcVar13 = (char *)dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(pcVar13);\n                          pdVar24->num_loc_views = pdVar24->num_loc_views - 1;\n                        }\n                      }\n                    }\n                    local_d4 = (dwarf_section *)\n                               ((int)&local_d4->uncompressed_name + (uint)(paVar4->children != 0));\n                  }" else (compound_statement "{\n                    if (do_loc == 0) {\n                      if (dwarf_start_die != 0) {\n                        if (pdVar12 < dwarf_start_die) {\n                          bVar20 = false;\n                          iVar11 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if ((dwarf_section *)dwarf_start_die == pdVar12) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar20 = dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level;\n                      if (dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level) {\n                        in_stack_fffffee8 = " <%d><%lx>: Abbrev Number: %lu";\n                        pdVar9 = (dwarf_section *)0x5;\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar13,local_d4,pdVar12,uVar15);\n                        local_70 = local_d4;\n                        iVar11 = 1;\n                      }\n                      else if ((int)local_70 < dwarf_cutoff_level) {\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        pdVar9 = pdVar12;\n                        printf(pcVar13,local_d4,pdVar12);\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                    }\n                    else {\n                      bVar20 = false;\n                      iVar11 = do_loc;\n                    }\nLAB_0005783c:\n                    if (first_abbrev == (abbrev_entry *)0x0) {\nLAB_00057dbe:\n                      if (bVar20) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      pcVar13 = (char *)dcgettext(0,\n                                                  "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                                  ,5);\n                      warn(pcVar13,pdVar12,uVar15);\n                      return 0;\n                    }\n                    uVar3 = first_abbrev->entry;\n                    paVar4 = first_abbrev;\n                    while (uVar3 != uVar15) {\n                      paVar4 = paVar4->next;\n                      if (paVar4 == (abbrev_entry *)0x0) goto LAB_00057dbe;\n                      uVar3 = paVar4->entry;\n                    }\n                    uVar15 = paVar4->tag;\n                    if (bVar20) {\n                      puVar29 = (uchar *)0x57bcc;\n                      in_stack_fffffee8 = get_TAG_name(uVar15);\n                      printf(" (%s)\n",in_stack_fffffee8,pdVar9);\n                      uVar15 = paVar4->tag;\n                    }\n                    if (uVar15 == 0x11) {\n                      need_base_address = 1;\n                      need_dwo_info = do_loc;\n                    }\n                    else if ((uVar15 == 0x2e) || (uVar15 == 3)) {\n                      need_base_address = 0;\n                      have_frame_base = 0;\n                    }\n                    else {\n                      need_base_address = 0;\n                    }\n                    if (((debug_information == (debug_info *)0x0) ||\n                        (alloc_num_debug_info_entries <= local_a4)) ||\n                       (pdVar24 = debug_information + local_a4, pdVar24 == (debug_info *)0x0)) {\n                      paVar25 = paVar4->first_attr;\n                      if ((paVar25 != (abbrev_attr *)0x0) &&\n                         (pdVar24 = (debug_info *)0x0, paVar25->attribute != 0)) {\nLAB_000578fa:\n                        local_bc = ZEXT48(local_f0);\n                        do {\n                          if (bVar20) {\n                            printf("    <%lx>",(int)puVar16 - (int)puVar1);\n                          }\n                          uVar15 = paVar25->form;\n                          implicit_const = paVar25->implicit_const;\n                          uVar3 = paVar25->attribute;\n                          if (iVar11 == 1 && do_loc == 0) {\n                            puVar29 = (uchar *)0x579ff;\n                            in_stack_fffffee8 = get_AT_name(uVar3);\n                            printf("   %-18s:");\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,\n                                                 ' ');\n                            putchar(10);\n                            paVar25 = paVar25->next;\n                          }\n                          else {\n                            puVar29 = (uchar *)0x20;\n                            in_stack_fffffee8 = (char *)section;\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ');\n                            paVar25 = paVar25->next;\n                          }\n                        } while ((paVar25 != (abbrev_attr *)0x0) && (paVar25->attribute != 0));\n                        if (pdVar24 != (debug_info *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (pdVar24->num_loc_offsets != pdVar24->num_loc_views) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      paVar25 = paVar4->first_attr;\n                      if (paVar25 != (abbrev_attr *)0x0) {\n                        if (paVar25->attribute != 0) goto LAB_000578fa;\nLAB_00057a88:\n                        uVar14 = pdVar24->num_loc_offsets;\n                        uVar22 = pdVar24->num_loc_views;\n                        if (uVar14 - uVar22 == 1) {\n                          pdVar6 = pdVar24->loc_views;\n                          *(undefined4 *)(pdVar6 + uVar22) = 0xffffffff;\n                          *(undefined4 *)((int)pdVar6 + uVar22 * 8 + 4) = 0xffffffff;\n                          pdVar24->num_loc_views = uVar22 + 1;\n                          if (uVar22 + 1 != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (uVar14 != uVar22) {\n                          if (uVar14 - uVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          in_stack_fffffee8 = "DIE has locviews without loclist\n";\n                          pcVar13 = (char *)dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(pcVar13);\n                          pdVar24->num_loc_views = pdVar24->num_loc_views - 1;\n                        }\n                      }\n                    }\n                    local_d4 = (dwarf_section *)\n                               ((int)&local_d4->uncompressed_name + (uint)(paVar4->children != 0));\n                  }" { (if_statement "if (do_loc == 0) {\n                      if (dwarf_start_die != 0) {\n                        if (pdVar12 < dwarf_start_die) {\n                          bVar20 = false;\n                          iVar11 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if ((dwarf_section *)dwarf_start_die == pdVar12) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar20 = dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level;\n                      if (dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level) {\n                        in_stack_fffffee8 = " <%d><%lx>: Abbrev Number: %lu";\n                        pdVar9 = (dwarf_section *)0x5;\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar13,local_d4,pdVar12,uVar15);\n                        local_70 = local_d4;\n                        iVar11 = 1;\n                      }\n                      else if ((int)local_70 < dwarf_cutoff_level) {\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        pdVar9 = pdVar12;\n                        printf(pcVar13,local_d4,pdVar12);\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                    }\n                    else {\n                      bVar20 = false;\n                      iVar11 = do_loc;\n                    }" if (parenthesized_expression "(do_loc == 0)" ( (binary_expression "do_loc == 0" identifier == number_literal) )) (compound_statement "{\n                      if (dwarf_start_die != 0) {\n                        if (pdVar12 < dwarf_start_die) {\n                          bVar20 = false;\n                          iVar11 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if ((dwarf_section *)dwarf_start_die == pdVar12) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar20 = dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level;\n                      if (dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level) {\n                        in_stack_fffffee8 = " <%d><%lx>: Abbrev Number: %lu";\n                        pdVar9 = (dwarf_section *)0x5;\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar13,local_d4,pdVar12,uVar15);\n                        local_70 = local_d4;\n                        iVar11 = 1;\n                      }\n                      else if ((int)local_70 < dwarf_cutoff_level) {\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        pdVar9 = pdVar12;\n                        printf(pcVar13,local_d4,pdVar12);\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                    }" { (if_statement "if (dwarf_start_die != 0) {\n                        if (pdVar12 < dwarf_start_die) {\n                          bVar20 = false;\n                          iVar11 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if ((dwarf_section *)dwarf_start_die == pdVar12) {\n                          local_78 = local_d4;\n                        }\n                      }" if (parenthesized_expression "(dwarf_start_die != 0)" ( (binary_expression "dwarf_start_die != 0" identifier != number_literal) )) (compound_statement "{\n                        if (pdVar12 < dwarf_start_die) {\n                          bVar20 = false;\n                          iVar11 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if ((dwarf_section *)dwarf_start_die == pdVar12) {\n                          local_78 = local_d4;\n                        }\n                      }" { (if_statement "if (pdVar12 < dwarf_start_die) {\n                          bVar20 = false;\n                          iVar11 = 0;\n                          goto LAB_0005783c;\n                        }" if (parenthesized_expression "(pdVar12 < dwarf_start_die)" ( (binary_expression "pdVar12 < dwarf_start_die" identifier < identifier) )) (compound_statement "{\n                          bVar20 = false;\n                          iVar11 = 0;\n                          goto LAB_0005783c;\n                        }" { (expression_statement "bVar20 = false;" (assignment_expression "bVar20 = false" identifier = false) ;) (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0005783c;" goto statement_identifier ;) })) (if_statement "if ((dwarf_section *)dwarf_start_die == pdVar12) {\n                          local_78 = local_d4;\n                        }" if (parenthesized_expression "((dwarf_section *)dwarf_start_die == pdVar12)" ( (binary_expression "(dwarf_section *)dwarf_start_die == pdVar12" (cast_expression "(dwarf_section *)dwarf_start_die" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == identifier) )) (compound_statement "{\n                          local_78 = local_d4;\n                        }" { (expression_statement "local_78 = local_d4;" (assignment_expression "local_78 = local_d4" identifier = identifier) ;) })) })) (expression_statement "bVar20 = dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level;" (assignment_expression "bVar20 = dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level" identifier = (binary_expression "dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level" (binary_expression "dwarf_cutoff_level == -1" identifier == number_literal) || (binary_expression "(int)local_d4 < dwarf_cutoff_level" (cast_expression "(int)local_d4" ( (type_descriptor "int" primitive_type) ) identifier) < identifier))) ;) (if_statement "if (dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level) {\n                        in_stack_fffffee8 = " <%d><%lx>: Abbrev Number: %lu";\n                        pdVar9 = (dwarf_section *)0x5;\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar13,local_d4,pdVar12,uVar15);\n                        local_70 = local_d4;\n                        iVar11 = 1;\n                      }\n                      else if ((int)local_70 < dwarf_cutoff_level) {\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        pdVar9 = pdVar12;\n                        printf(pcVar13,local_d4,pdVar12);\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }" if (parenthesized_expression "(dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level)" ( (binary_expression "dwarf_cutoff_level == -1 || (int)local_d4 < dwarf_cutoff_level" (binary_expression "dwarf_cutoff_level == -1" identifier == number_literal) || (binary_expression "(int)local_d4 < dwarf_cutoff_level" (cast_expression "(int)local_d4" ( (type_descriptor "int" primitive_type) ) identifier) < identifier)) )) (compound_statement "{\n                        in_stack_fffffee8 = " <%d><%lx>: Abbrev Number: %lu";\n                        pdVar9 = (dwarf_section *)0x5;\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar13,local_d4,pdVar12,uVar15);\n                        local_70 = local_d4;\n                        iVar11 = 1;\n                      }" { (expression_statement "in_stack_fffffee8 = " <%d><%lx>: Abbrev Number: %lu";" (assignment_expression "in_stack_fffffee8 = " <%d><%lx>: Abbrev Number: %lu"" identifier = (string_literal "" <%d><%lx>: Abbrev Number: %lu"" " string_content ")) ;) (expression_statement "pdVar9 = (dwarf_section *)0x5;" (assignment_expression "pdVar9 = (dwarf_section *)0x5" identifier = (cast_expression "(dwarf_section *)0x5" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5)" identifier = (cast_expression "(char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5)" identifier (argument_list "(0," <%d><%lx>: Abbrev Number: %lu",5)" ( number_literal , (string_literal "" <%d><%lx>: Abbrev Number: %lu"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar13,local_d4,pdVar12,uVar15);" (call_expression "printf(pcVar13,local_d4,pdVar12,uVar15)" identifier (argument_list "(pcVar13,local_d4,pdVar12,uVar15)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "local_70 = local_d4;" (assignment_expression "local_70 = local_d4" identifier = identifier) ;) (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) }) (else_clause "else if ((int)local_70 < dwarf_cutoff_level) {\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        pdVar9 = pdVar12;\n                        printf(pcVar13,local_d4,pdVar12);\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }" else (if_statement "if ((int)local_70 < dwarf_cutoff_level) {\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        pdVar9 = pdVar12;\n                        printf(pcVar13,local_d4,pdVar12);\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }" if (parenthesized_expression "((int)local_70 < dwarf_cutoff_level)" ( (binary_expression "(int)local_70 < dwarf_cutoff_level" (cast_expression "(int)local_70" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) (compound_statement "{\n                        pcVar13 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        in_stack_fffffee8 = (char *)local_d4;\n                        pdVar9 = pdVar12;\n                        printf(pcVar13,local_d4,pdVar12);\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }" { (expression_statement "pcVar13 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0," <%d><%lx>: ...\n",5)" identifier = (cast_expression "(char *)dcgettext(0," <%d><%lx>: ...\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," <%d><%lx>: ...\n",5)" identifier (argument_list "(0," <%d><%lx>: ...\n",5)" ( number_literal , (string_literal "" <%d><%lx>: ...\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "in_stack_fffffee8 = (char *)local_d4;" (assignment_expression "in_stack_fffffee8 = (char *)local_d4" identifier = (cast_expression "(char *)local_d4" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pdVar9 = pdVar12;" (assignment_expression "pdVar9 = pdVar12" identifier = identifier) ;) (expression_statement "printf(pcVar13,local_d4,pdVar12);" (call_expression "printf(pcVar13,local_d4,pdVar12)" identifier (argument_list "(pcVar13,local_d4,pdVar12)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_70 = local_d4;" (assignment_expression "local_70 = local_d4" identifier = identifier) ;) (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }" else (compound_statement "{\n                        local_70 = local_d4;\n                        iVar11 = 0;\n                      }" { (expression_statement "local_70 = local_d4;" (assignment_expression "local_70 = local_d4" identifier = identifier) ;) (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) }))))) }) (else_clause "else {\n                      bVar20 = false;\n                      iVar11 = do_loc;\n                    }" else (compound_statement "{\n                      bVar20 = false;\n                      iVar11 = do_loc;\n                    }" { (expression_statement "bVar20 = false;" (assignment_expression "bVar20 = false" identifier = false) ;) (expression_statement "iVar11 = do_loc;" (assignment_expression "iVar11 = do_loc" identifier = identifier) ;) }))) (labeled_statement "LAB_0005783c:\n                    if (first_abbrev == (abbrev_entry *)0x0) {\nLAB_00057dbe:\n                      if (bVar20) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      pcVar13 = (char *)dcgettext(0,\n                                                  "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                                  ,5);\n                      warn(pcVar13,pdVar12,uVar15);\n                      return 0;\n                    }" statement_identifier : (if_statement "if (first_abbrev == (abbrev_entry *)0x0) {\nLAB_00057dbe:\n                      if (bVar20) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      pcVar13 = (char *)dcgettext(0,\n                                                  "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                                  ,5);\n                      warn(pcVar13,pdVar12,uVar15);\n                      return 0;\n                    }" if (parenthesized_expression "(first_abbrev == (abbrev_entry *)0x0)" ( (binary_expression "first_abbrev == (abbrev_entry *)0x0" identifier == (cast_expression "(abbrev_entry *)0x0" ( (type_descriptor "abbrev_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00057dbe:\n                      if (bVar20) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      pcVar13 = (char *)dcgettext(0,\n                                                  "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                                  ,5);\n                      warn(pcVar13,pdVar12,uVar15);\n                      return 0;\n                    }" { (labeled_statement "LAB_00057dbe:\n                      if (bVar20) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }" statement_identifier : (if_statement "if (bVar20) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }" if (parenthesized_expression "(bVar20)" ( identifier )) (compound_statement "{\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }" { (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (expression_statement "fflush(*(FILE **)PTR_stdout_000b3fd8);" (call_expression "fflush(*(FILE **)PTR_stdout_000b3fd8)" identifier (argument_list "(*(FILE **)PTR_stdout_000b3fd8)" ( (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 "pcVar13 = (char *)dcgettext(0,\n                                                  "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                                  ,5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,\n                                                  "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                                  ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                                  "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                                  ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                                  "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                                  ,5)" identifier (argument_list "(0,\n                                                  "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                                  ,5)" ( number_literal , (string_literal ""DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar13,pdVar12,uVar15);" (call_expression "warn(pcVar13,pdVar12,uVar15)" identifier (argument_list "(pcVar13,pdVar12,uVar15)" ( identifier , identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) }))) (expression_statement "uVar3 = first_abbrev->entry;" (assignment_expression "uVar3 = first_abbrev->entry" identifier = (field_expression "first_abbrev->entry" identifier -> field_identifier)) ;) (expression_statement "paVar4 = first_abbrev;" (assignment_expression "paVar4 = first_abbrev" identifier = identifier) ;) (while_statement "while (uVar3 != uVar15) {\n                      paVar4 = paVar4->next;\n                      if (paVar4 == (abbrev_entry *)0x0) goto LAB_00057dbe;\n                      uVar3 = paVar4->entry;\n                    }" while (parenthesized_expression "(uVar3 != uVar15)" ( (binary_expression "uVar3 != uVar15" identifier != identifier) )) (compound_statement "{\n                      paVar4 = paVar4->next;\n                      if (paVar4 == (abbrev_entry *)0x0) goto LAB_00057dbe;\n                      uVar3 = paVar4->entry;\n                    }" { (expression_statement "paVar4 = paVar4->next;" (assignment_expression "paVar4 = paVar4->next" identifier = (field_expression "paVar4->next" identifier -> field_identifier)) ;) (if_statement "if (paVar4 == (abbrev_entry *)0x0) goto LAB_00057dbe;" if (parenthesized_expression "(paVar4 == (abbrev_entry *)0x0)" ( (binary_expression "paVar4 == (abbrev_entry *)0x0" identifier == (cast_expression "(abbrev_entry *)0x0" ( (type_descriptor "abbrev_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00057dbe;" goto statement_identifier ;)) (expression_statement "uVar3 = paVar4->entry;" (assignment_expression "uVar3 = paVar4->entry" identifier = (field_expression "paVar4->entry" identifier -> field_identifier)) ;) })) (expression_statement "uVar15 = paVar4->tag;" (assignment_expression "uVar15 = paVar4->tag" identifier = (field_expression "paVar4->tag" identifier -> field_identifier)) ;) (if_statement "if (bVar20) {\n                      puVar29 = (uchar *)0x57bcc;\n                      in_stack_fffffee8 = get_TAG_name(uVar15);\n                      printf(" (%s)\n",in_stack_fffffee8,pdVar9);\n                      uVar15 = paVar4->tag;\n                    }" if (parenthesized_expression "(bVar20)" ( identifier )) (compound_statement "{\n                      puVar29 = (uchar *)0x57bcc;\n                      in_stack_fffffee8 = get_TAG_name(uVar15);\n                      printf(" (%s)\n",in_stack_fffffee8,pdVar9);\n                      uVar15 = paVar4->tag;\n                    }" { (expression_statement "puVar29 = (uchar *)0x57bcc;" (assignment_expression "puVar29 = (uchar *)0x57bcc" identifier = (cast_expression "(uchar *)0x57bcc" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_stack_fffffee8 = get_TAG_name(uVar15);" (assignment_expression "in_stack_fffffee8 = get_TAG_name(uVar15)" identifier = (call_expression "get_TAG_name(uVar15)" identifier (argument_list "(uVar15)" ( identifier )))) ;) (expression_statement "printf(" (%s)\n",in_stack_fffffee8,pdVar9);" (call_expression "printf(" (%s)\n",in_stack_fffffee8,pdVar9)" identifier (argument_list "(" (%s)\n",in_stack_fffffee8,pdVar9)" ( (string_literal "" (%s)\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) (expression_statement "uVar15 = paVar4->tag;" (assignment_expression "uVar15 = paVar4->tag" identifier = (field_expression "paVar4->tag" identifier -> field_identifier)) ;) })) (if_statement "if (uVar15 == 0x11) {\n                      need_base_address = 1;\n                      need_dwo_info = do_loc;\n                    }\n                    else if ((uVar15 == 0x2e) || (uVar15 == 3)) {\n                      need_base_address = 0;\n                      have_frame_base = 0;\n                    }\n                    else {\n                      need_base_address = 0;\n                    }" if (parenthesized_expression "(uVar15 == 0x11)" ( (binary_expression "uVar15 == 0x11" identifier == number_literal) )) (compound_statement "{\n                      need_base_address = 1;\n                      need_dwo_info = do_loc;\n                    }" { (expression_statement "need_base_address = 1;" (assignment_expression "need_base_address = 1" identifier = number_literal) ;) (expression_statement "need_dwo_info = do_loc;" (assignment_expression "need_dwo_info = do_loc" identifier = identifier) ;) }) (else_clause "else if ((uVar15 == 0x2e) || (uVar15 == 3)) {\n                      need_base_address = 0;\n                      have_frame_base = 0;\n                    }\n                    else {\n                      need_base_address = 0;\n                    }" else (if_statement "if ((uVar15 == 0x2e) || (uVar15 == 3)) {\n                      need_base_address = 0;\n                      have_frame_base = 0;\n                    }\n                    else {\n                      need_base_address = 0;\n                    }" if (parenthesized_expression "((uVar15 == 0x2e) || (uVar15 == 3))" ( (binary_expression "(uVar15 == 0x2e) || (uVar15 == 3)" (parenthesized_expression "(uVar15 == 0x2e)" ( (binary_expression "uVar15 == 0x2e" identifier == number_literal) )) || (parenthesized_expression "(uVar15 == 3)" ( (binary_expression "uVar15 == 3" identifier == number_literal) ))) )) (compound_statement "{\n                      need_base_address = 0;\n                      have_frame_base = 0;\n                    }" { (expression_statement "need_base_address = 0;" (assignment_expression "need_base_address = 0" identifier = number_literal) ;) (expression_statement "have_frame_base = 0;" (assignment_expression "have_frame_base = 0" identifier = number_literal) ;) }) (else_clause "else {\n                      need_base_address = 0;\n                    }" else (compound_statement "{\n                      need_base_address = 0;\n                    }" { (expression_statement "need_base_address = 0;" (assignment_expression "need_base_address = 0" identifier = number_literal) ;) }))))) (if_statement "if (((debug_information == (debug_info *)0x0) ||\n                        (alloc_num_debug_info_entries <= local_a4)) ||\n                       (pdVar24 = debug_information + local_a4, pdVar24 == (debug_info *)0x0)) {\n                      paVar25 = paVar4->first_attr;\n                      if ((paVar25 != (abbrev_attr *)0x0) &&\n                         (pdVar24 = (debug_info *)0x0, paVar25->attribute != 0)) {\nLAB_000578fa:\n                        local_bc = ZEXT48(local_f0);\n                        do {\n                          if (bVar20) {\n                            printf("    <%lx>",(int)puVar16 - (int)puVar1);\n                          }\n                          uVar15 = paVar25->form;\n                          implicit_const = paVar25->implicit_const;\n                          uVar3 = paVar25->attribute;\n                          if (iVar11 == 1 && do_loc == 0) {\n                            puVar29 = (uchar *)0x579ff;\n                            in_stack_fffffee8 = get_AT_name(uVar3);\n                            printf("   %-18s:");\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,\n                                                 ' ');\n                            putchar(10);\n                            paVar25 = paVar25->next;\n                          }\n                          else {\n                            puVar29 = (uchar *)0x20;\n                            in_stack_fffffee8 = (char *)section;\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ');\n                            paVar25 = paVar25->next;\n                          }\n                        } while ((paVar25 != (abbrev_attr *)0x0) && (paVar25->attribute != 0));\n                        if (pdVar24 != (debug_info *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (pdVar24->num_loc_offsets != pdVar24->num_loc_views) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      paVar25 = paVar4->first_attr;\n                      if (paVar25 != (abbrev_attr *)0x0) {\n                        if (paVar25->attribute != 0) goto LAB_000578fa;\nLAB_00057a88:\n                        uVar14 = pdVar24->num_loc_offsets;\n                        uVar22 = pdVar24->num_loc_views;\n                        if (uVar14 - uVar22 == 1) {\n                          pdVar6 = pdVar24->loc_views;\n                          *(undefined4 *)(pdVar6 + uVar22) = 0xffffffff;\n                          *(undefined4 *)((int)pdVar6 + uVar22 * 8 + 4) = 0xffffffff;\n                          pdVar24->num_loc_views = uVar22 + 1;\n                          if (uVar22 + 1 != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (uVar14 != uVar22) {\n                          if (uVar14 - uVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          in_stack_fffffee8 = "DIE has locviews without loclist\n";\n                          pcVar13 = (char *)dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(pcVar13);\n                          pdVar24->num_loc_views = pdVar24->num_loc_views - 1;\n                        }\n                      }\n                    }" if (parenthesized_expression "(((debug_information == (debug_info *)0x0) ||\n                        (alloc_num_debug_info_entries <= local_a4)) ||\n                       (pdVar24 = debug_information + local_a4, pdVar24 == (debug_info *)0x0))" ( (binary_expression "((debug_information == (debug_info *)0x0) ||\n                        (alloc_num_debug_info_entries <= local_a4)) ||\n                       (pdVar24 = debug_information + local_a4, pdVar24 == (debug_info *)0x0)" (parenthesized_expression "((debug_information == (debug_info *)0x0) ||\n                        (alloc_num_debug_info_entries <= local_a4))" ( (binary_expression "(debug_information == (debug_info *)0x0) ||\n                        (alloc_num_debug_info_entries <= local_a4)" (parenthesized_expression "(debug_information == (debug_info *)0x0)" ( (binary_expression "debug_information == (debug_info *)0x0" identifier == (cast_expression "(debug_info *)0x0" ( (type_descriptor "debug_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(alloc_num_debug_info_entries <= local_a4)" ( (binary_expression "alloc_num_debug_info_entries <= local_a4" identifier <= identifier) ))) )) || (parenthesized_expression "(pdVar24 = debug_information + local_a4, pdVar24 == (debug_info *)0x0)" ( (comma_expression "pdVar24 = debug_information + local_a4, pdVar24 == (debug_info *)0x0" (assignment_expression "pdVar24 = debug_information + local_a4" identifier = (binary_expression "debug_information + local_a4" identifier + identifier)) , (binary_expression "pdVar24 == (debug_info *)0x0" identifier == (cast_expression "(debug_info *)0x0" ( (type_descriptor "debug_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n                      paVar25 = paVar4->first_attr;\n                      if ((paVar25 != (abbrev_attr *)0x0) &&\n                         (pdVar24 = (debug_info *)0x0, paVar25->attribute != 0)) {\nLAB_000578fa:\n                        local_bc = ZEXT48(local_f0);\n                        do {\n                          if (bVar20) {\n                            printf("    <%lx>",(int)puVar16 - (int)puVar1);\n                          }\n                          uVar15 = paVar25->form;\n                          implicit_const = paVar25->implicit_const;\n                          uVar3 = paVar25->attribute;\n                          if (iVar11 == 1 && do_loc == 0) {\n                            puVar29 = (uchar *)0x579ff;\n                            in_stack_fffffee8 = get_AT_name(uVar3);\n                            printf("   %-18s:");\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,\n                                                 ' ');\n                            putchar(10);\n                            paVar25 = paVar25->next;\n                          }\n                          else {\n                            puVar29 = (uchar *)0x20;\n                            in_stack_fffffee8 = (char *)section;\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ');\n                            paVar25 = paVar25->next;\n                          }\n                        } while ((paVar25 != (abbrev_attr *)0x0) && (paVar25->attribute != 0));\n                        if (pdVar24 != (debug_info *)0x0) goto LAB_00057a88;\n                      }\n                    }" { (expression_statement "paVar25 = paVar4->first_attr;" (assignment_expression "paVar25 = paVar4->first_attr" identifier = (field_expression "paVar4->first_attr" identifier -> field_identifier)) ;) (if_statement "if ((paVar25 != (abbrev_attr *)0x0) &&\n                         (pdVar24 = (debug_info *)0x0, paVar25->attribute != 0)) {\nLAB_000578fa:\n                        local_bc = ZEXT48(local_f0);\n                        do {\n                          if (bVar20) {\n                            printf("    <%lx>",(int)puVar16 - (int)puVar1);\n                          }\n                          uVar15 = paVar25->form;\n                          implicit_const = paVar25->implicit_const;\n                          uVar3 = paVar25->attribute;\n                          if (iVar11 == 1 && do_loc == 0) {\n                            puVar29 = (uchar *)0x579ff;\n                            in_stack_fffffee8 = get_AT_name(uVar3);\n                            printf("   %-18s:");\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,\n                                                 ' ');\n                            putchar(10);\n                            paVar25 = paVar25->next;\n                          }\n                          else {\n                            puVar29 = (uchar *)0x20;\n                            in_stack_fffffee8 = (char *)section;\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ');\n                            paVar25 = paVar25->next;\n                          }\n                        } while ((paVar25 != (abbrev_attr *)0x0) && (paVar25->attribute != 0));\n                        if (pdVar24 != (debug_info *)0x0) goto LAB_00057a88;\n                      }" if (parenthesized_expression "((paVar25 != (abbrev_attr *)0x0) &&\n                         (pdVar24 = (debug_info *)0x0, paVar25->attribute != 0))" ( (binary_expression "(paVar25 != (abbrev_attr *)0x0) &&\n                         (pdVar24 = (debug_info *)0x0, paVar25->attribute != 0)" (parenthesized_expression "(paVar25 != (abbrev_attr *)0x0)" ( (binary_expression "paVar25 != (abbrev_attr *)0x0" identifier != (cast_expression "(abbrev_attr *)0x0" ( (type_descriptor "abbrev_attr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pdVar24 = (debug_info *)0x0, paVar25->attribute != 0)" ( (comma_expression "pdVar24 = (debug_info *)0x0, paVar25->attribute != 0" (assignment_expression "pdVar24 = (debug_info *)0x0" identifier = (cast_expression "(debug_info *)0x0" ( (type_descriptor "debug_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) , (binary_expression "paVar25->attribute != 0" (field_expression "paVar25->attribute" identifier -> field_identifier) != number_literal)) ))) )) (compound_statement "{\nLAB_000578fa:\n                        local_bc = ZEXT48(local_f0);\n                        do {\n                          if (bVar20) {\n                            printf("    <%lx>",(int)puVar16 - (int)puVar1);\n                          }\n                          uVar15 = paVar25->form;\n                          implicit_const = paVar25->implicit_const;\n                          uVar3 = paVar25->attribute;\n                          if (iVar11 == 1 && do_loc == 0) {\n                            puVar29 = (uchar *)0x579ff;\n                            in_stack_fffffee8 = get_AT_name(uVar3);\n                            printf("   %-18s:");\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,\n                                                 ' ');\n                            putchar(10);\n                            paVar25 = paVar25->next;\n                          }\n                          else {\n                            puVar29 = (uchar *)0x20;\n                            in_stack_fffffee8 = (char *)section;\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ');\n                            paVar25 = paVar25->next;\n                          }\n                        } while ((paVar25 != (abbrev_attr *)0x0) && (paVar25->attribute != 0));\n                        if (pdVar24 != (debug_info *)0x0) goto LAB_00057a88;\n                      }" { (labeled_statement "LAB_000578fa:\n                        local_bc = ZEXT48(local_f0);" statement_identifier : (expression_statement "local_bc = ZEXT48(local_f0);" (assignment_expression "local_bc = ZEXT48(local_f0)" identifier = (call_expression "ZEXT48(local_f0)" identifier (argument_list "(local_f0)" ( identifier )))) ;)) (do_statement "do {\n                          if (bVar20) {\n                            printf("    <%lx>",(int)puVar16 - (int)puVar1);\n                          }\n                          uVar15 = paVar25->form;\n                          implicit_const = paVar25->implicit_const;\n                          uVar3 = paVar25->attribute;\n                          if (iVar11 == 1 && do_loc == 0) {\n                            puVar29 = (uchar *)0x579ff;\n                            in_stack_fffffee8 = get_AT_name(uVar3);\n                            printf("   %-18s:");\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,\n                                                 ' ');\n                            putchar(10);\n                            paVar25 = paVar25->next;\n                          }\n                          else {\n                            puVar29 = (uchar *)0x20;\n                            in_stack_fffffee8 = (char *)section;\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ');\n                            paVar25 = paVar25->next;\n                          }\n                        } while ((paVar25 != (abbrev_attr *)0x0) && (paVar25->attribute != 0));" do (compound_statement "{\n                          if (bVar20) {\n                            printf("    <%lx>",(int)puVar16 - (int)puVar1);\n                          }\n                          uVar15 = paVar25->form;\n                          implicit_const = paVar25->implicit_const;\n                          uVar3 = paVar25->attribute;\n                          if (iVar11 == 1 && do_loc == 0) {\n                            puVar29 = (uchar *)0x579ff;\n                            in_stack_fffffee8 = get_AT_name(uVar3);\n                            printf("   %-18s:");\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,\n                                                 ' ');\n                            putchar(10);\n                            paVar25 = paVar25->next;\n                          }\n                          else {\n                            puVar29 = (uchar *)0x20;\n                            in_stack_fffffee8 = (char *)section;\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ');\n                            paVar25 = paVar25->next;\n                          }\n                        }" { (if_statement "if (bVar20) {\n                            printf("    <%lx>",(int)puVar16 - (int)puVar1);\n                          }" if (parenthesized_expression "(bVar20)" ( identifier )) (compound_statement "{\n                            printf("    <%lx>",(int)puVar16 - (int)puVar1);\n                          }" { (expression_statement "printf("    <%lx>",(int)puVar16 - (int)puVar1);" (call_expression "printf("    <%lx>",(int)puVar16 - (int)puVar1)" identifier (argument_list "("    <%lx>",(int)puVar16 - (int)puVar1)" ( (string_literal ""    <%lx>"" " string_content ") , (binary_expression "(int)puVar16 - (int)puVar1" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) })) (expression_statement "uVar15 = paVar25->form;" (assignment_expression "uVar15 = paVar25->form" identifier = (field_expression "paVar25->form" identifier -> field_identifier)) ;) (expression_statement "implicit_const = paVar25->implicit_const;" (assignment_expression "implicit_const = paVar25->implicit_const" identifier = (field_expression "paVar25->implicit_const" identifier -> field_identifier)) ;) (expression_statement "uVar3 = paVar25->attribute;" (assignment_expression "uVar3 = paVar25->attribute" identifier = (field_expression "paVar25->attribute" identifier -> field_identifier)) ;) (if_statement "if (iVar11 == 1 && do_loc == 0) {\n                            puVar29 = (uchar *)0x579ff;\n                            in_stack_fffffee8 = get_AT_name(uVar3);\n                            printf("   %-18s:");\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,\n                                                 ' ');\n                            putchar(10);\n                            paVar25 = paVar25->next;\n                          }\n                          else {\n                            puVar29 = (uchar *)0x20;\n                            in_stack_fffffee8 = (char *)section;\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ');\n                            paVar25 = paVar25->next;\n                          }" if (parenthesized_expression "(iVar11 == 1 && do_loc == 0)" ( (binary_expression "iVar11 == 1 && do_loc == 0" (binary_expression "iVar11 == 1" identifier == number_literal) && (binary_expression "do_loc == 0" identifier == number_literal)) )) (compound_statement "{\n                            puVar29 = (uchar *)0x579ff;\n                            in_stack_fffffee8 = get_AT_name(uVar3);\n                            printf("   %-18s:");\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,\n                                                 ' ');\n                            putchar(10);\n                            paVar25 = paVar25->next;\n                          }" { (expression_statement "puVar29 = (uchar *)0x579ff;" (assignment_expression "puVar29 = (uchar *)0x579ff" identifier = (cast_expression "(uchar *)0x579ff" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_stack_fffffee8 = get_AT_name(uVar3);" (assignment_expression "in_stack_fffffee8 = get_AT_name(uVar3)" identifier = (call_expression "get_AT_name(uVar3)" identifier (argument_list "(uVar3)" ( identifier )))) ;) (expression_statement "printf("   %-18s:");" (call_expression "printf("   %-18s:")" identifier (argument_list "("   %-18s:")" ( (string_literal ""   %-18s:"" " string_content ") ))) ;) (expression_statement "puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,\n                                                 ' ');" (assignment_expression "puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,\n                                                 ' ')" identifier = (call_expression "read_and_display_attr_value\n                                                (uVar3,uVar15,implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,\n                                                 ' ')" identifier (argument_list "(uVar3,uVar15,implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,0,section,this_set,\n                                                 ' ')" ( identifier , identifier , identifier , identifier , identifier , (cast_expression "(longlong)(int)uVar10" ( (type_descriptor "longlong" type_identifier) ) (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) , (cast_expression "(ulonglong)(uint)bVar8" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)bVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) , identifier , (cast_expression "(uint)local_e2" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier , number_literal , identifier , identifier , (char_literal "' '" ' character ') )))) ;) (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (expression_statement "paVar25 = paVar25->next;" (assignment_expression "paVar25 = paVar25->next" identifier = (field_expression "paVar25->next" identifier -> field_identifier)) ;) }) (else_clause "else {\n                            puVar29 = (uchar *)0x20;\n                            in_stack_fffffee8 = (char *)section;\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ');\n                            paVar25 = paVar25->next;\n                          }" else (compound_statement "{\n                            puVar29 = (uchar *)0x20;\n                            in_stack_fffffee8 = (char *)section;\n                            puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ');\n                            paVar25 = paVar25->next;\n                          }" { (expression_statement "puVar29 = (uchar *)0x20;" (assignment_expression "puVar29 = (uchar *)0x20" identifier = (cast_expression "(uchar *)0x20" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_stack_fffffee8 = (char *)section;" (assignment_expression "in_stack_fffffee8 = (char *)section" identifier = (cast_expression "(char *)section" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ');" (assignment_expression "puVar16 = read_and_display_attr_value\n                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ')" identifier = (call_expression "read_and_display_attr_value\n                                                (uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ')" identifier (argument_list "(uVar3,uVar15,paVar25->implicit_const,puVar16,end,\n                                                 (longlong)(int)uVar10,(ulonglong)(uint)bVar8,\n                                                 local_bc,(uint)local_e2,pdVar24,1,section,this_set,\n                                                 ' ')" ( identifier , identifier , (field_expression "paVar25->implicit_const" identifier -> field_identifier) , identifier , identifier , (cast_expression "(longlong)(int)uVar10" ( (type_descriptor "longlong" type_identifier) ) (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) , (cast_expression "(ulonglong)(uint)bVar8" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)bVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) , identifier , (cast_expression "(uint)local_e2" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier , number_literal , identifier , identifier , (char_literal "' '" ' character ') )))) ;) (expression_statement "paVar25 = paVar25->next;" (assignment_expression "paVar25 = paVar25->next" identifier = (field_expression "paVar25->next" identifier -> field_identifier)) ;) }))) }) while (parenthesized_expression "((paVar25 != (abbrev_attr *)0x0) && (paVar25->attribute != 0))" ( (binary_expression "(paVar25 != (abbrev_attr *)0x0) && (paVar25->attribute != 0)" (parenthesized_expression "(paVar25 != (abbrev_attr *)0x0)" ( (binary_expression "paVar25 != (abbrev_attr *)0x0" identifier != (cast_expression "(abbrev_attr *)0x0" ( (type_descriptor "abbrev_attr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(paVar25->attribute != 0)" ( (binary_expression "paVar25->attribute != 0" (field_expression "paVar25->attribute" identifier -> field_identifier) != number_literal) ))) )) ;) (if_statement "if (pdVar24 != (debug_info *)0x0) goto LAB_00057a88;" if (parenthesized_expression "(pdVar24 != (debug_info *)0x0)" ( (binary_expression "pdVar24 != (debug_info *)0x0" identifier != (cast_expression "(debug_info *)0x0" ( (type_descriptor "debug_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00057a88;" goto statement_identifier ;)) })) }) (else_clause "else {\n                      if (pdVar24->num_loc_offsets != pdVar24->num_loc_views) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      paVar25 = paVar4->first_attr;\n                      if (paVar25 != (abbrev_attr *)0x0) {\n                        if (paVar25->attribute != 0) goto LAB_000578fa;\nLAB_00057a88:\n                        uVar14 = pdVar24->num_loc_offsets;\n                        uVar22 = pdVar24->num_loc_views;\n                        if (uVar14 - uVar22 == 1) {\n                          pdVar6 = pdVar24->loc_views;\n                          *(undefined4 *)(pdVar6 + uVar22) = 0xffffffff;\n                          *(undefined4 *)((int)pdVar6 + uVar22 * 8 + 4) = 0xffffffff;\n                          pdVar24->num_loc_views = uVar22 + 1;\n                          if (uVar22 + 1 != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (uVar14 != uVar22) {\n                          if (uVar14 - uVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          in_stack_fffffee8 = "DIE has locviews without loclist\n";\n                          pcVar13 = (char *)dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(pcVar13);\n                          pdVar24->num_loc_views = pdVar24->num_loc_views - 1;\n                        }\n                      }\n                    }" else (compound_statement "{\n                      if (pdVar24->num_loc_offsets != pdVar24->num_loc_views) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      paVar25 = paVar4->first_attr;\n                      if (paVar25 != (abbrev_attr *)0x0) {\n                        if (paVar25->attribute != 0) goto LAB_000578fa;\nLAB_00057a88:\n                        uVar14 = pdVar24->num_loc_offsets;\n                        uVar22 = pdVar24->num_loc_views;\n                        if (uVar14 - uVar22 == 1) {\n                          pdVar6 = pdVar24->loc_views;\n                          *(undefined4 *)(pdVar6 + uVar22) = 0xffffffff;\n                          *(undefined4 *)((int)pdVar6 + uVar22 * 8 + 4) = 0xffffffff;\n                          pdVar24->num_loc_views = uVar22 + 1;\n                          if (uVar22 + 1 != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (uVar14 != uVar22) {\n                          if (uVar14 - uVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          in_stack_fffffee8 = "DIE has locviews without loclist\n";\n                          pcVar13 = (char *)dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(pcVar13);\n                          pdVar24->num_loc_views = pdVar24->num_loc_views - 1;\n                        }\n                      }\n                    }" { (if_statement "if (pdVar24->num_loc_offsets != pdVar24->num_loc_views) {\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }" if (parenthesized_expression "(pdVar24->num_loc_offsets != pdVar24->num_loc_views)" ( (binary_expression "pdVar24->num_loc_offsets != pdVar24->num_loc_views" (field_expression "pdVar24->num_loc_offsets" identifier -> field_identifier) != (field_expression "pdVar24->num_loc_views" identifier -> field_identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }" { comment (expression_statement "__assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");" (call_expression "__assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info")" identifier (argument_list "("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info")" ( (string_literal ""!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"" " string_content ") , (string_literal ""../../binutils/dwarf.c"" " string_content ") , number_literal , (string_literal ""process_debug_info"" " string_content ") ))) ;) })) (expression_statement "paVar25 = paVar4->first_attr;" (assignment_expression "paVar25 = paVar4->first_attr" identifier = (field_expression "paVar4->first_attr" identifier -> field_identifier)) ;) (if_statement "if (paVar25 != (abbrev_attr *)0x0) {\n                        if (paVar25->attribute != 0) goto LAB_000578fa;\nLAB_00057a88:\n                        uVar14 = pdVar24->num_loc_offsets;\n                        uVar22 = pdVar24->num_loc_views;\n                        if (uVar14 - uVar22 == 1) {\n                          pdVar6 = pdVar24->loc_views;\n                          *(undefined4 *)(pdVar6 + uVar22) = 0xffffffff;\n                          *(undefined4 *)((int)pdVar6 + uVar22 * 8 + 4) = 0xffffffff;\n                          pdVar24->num_loc_views = uVar22 + 1;\n                          if (uVar22 + 1 != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (uVar14 != uVar22) {\n                          if (uVar14 - uVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          in_stack_fffffee8 = "DIE has locviews without loclist\n";\n                          pcVar13 = (char *)dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(pcVar13);\n                          pdVar24->num_loc_views = pdVar24->num_loc_views - 1;\n                        }\n                      }" if (parenthesized_expression "(paVar25 != (abbrev_attr *)0x0)" ( (binary_expression "paVar25 != (abbrev_attr *)0x0" identifier != (cast_expression "(abbrev_attr *)0x0" ( (type_descriptor "abbrev_attr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                        if (paVar25->attribute != 0) goto LAB_000578fa;\nLAB_00057a88:\n                        uVar14 = pdVar24->num_loc_offsets;\n                        uVar22 = pdVar24->num_loc_views;\n                        if (uVar14 - uVar22 == 1) {\n                          pdVar6 = pdVar24->loc_views;\n                          *(undefined4 *)(pdVar6 + uVar22) = 0xffffffff;\n                          *(undefined4 *)((int)pdVar6 + uVar22 * 8 + 4) = 0xffffffff;\n                          pdVar24->num_loc_views = uVar22 + 1;\n                          if (uVar22 + 1 != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (uVar14 != uVar22) {\n                          if (uVar14 - uVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          in_stack_fffffee8 = "DIE has locviews without loclist\n";\n                          pcVar13 = (char *)dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(pcVar13);\n                          pdVar24->num_loc_views = pdVar24->num_loc_views - 1;\n                        }\n                      }" { (if_statement "if (paVar25->attribute != 0) goto LAB_000578fa;" if (parenthesized_expression "(paVar25->attribute != 0)" ( (binary_expression "paVar25->attribute != 0" (field_expression "paVar25->attribute" identifier -> field_identifier) != number_literal) )) (goto_statement "goto LAB_000578fa;" goto statement_identifier ;)) (labeled_statement "LAB_00057a88:\n                        uVar14 = pdVar24->num_loc_offsets;" statement_identifier : (expression_statement "uVar14 = pdVar24->num_loc_offsets;" (assignment_expression "uVar14 = pdVar24->num_loc_offsets" identifier = (field_expression "pdVar24->num_loc_offsets" identifier -> field_identifier)) ;)) (expression_statement "uVar22 = pdVar24->num_loc_views;" (assignment_expression "uVar22 = pdVar24->num_loc_views" identifier = (field_expression "pdVar24->num_loc_views" identifier -> field_identifier)) ;) (if_statement "if (uVar14 - uVar22 == 1) {\n                          pdVar6 = pdVar24->loc_views;\n                          *(undefined4 *)(pdVar6 + uVar22) = 0xffffffff;\n                          *(undefined4 *)((int)pdVar6 + uVar22 * 8 + 4) = 0xffffffff;\n                          pdVar24->num_loc_views = uVar22 + 1;\n                          if (uVar22 + 1 != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (uVar14 != uVar22) {\n                          if (uVar14 - uVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          in_stack_fffffee8 = "DIE has locviews without loclist\n";\n                          pcVar13 = (char *)dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(pcVar13);\n                          pdVar24->num_loc_views = pdVar24->num_loc_views - 1;\n                        }" if (parenthesized_expression "(uVar14 - uVar22 == 1)" ( (binary_expression "uVar14 - uVar22 == 1" (binary_expression "uVar14 - uVar22" identifier - identifier) == number_literal) )) (compound_statement "{\n                          pdVar6 = pdVar24->loc_views;\n                          *(undefined4 *)(pdVar6 + uVar22) = 0xffffffff;\n                          *(undefined4 *)((int)pdVar6 + uVar22 * 8 + 4) = 0xffffffff;\n                          pdVar24->num_loc_views = uVar22 + 1;\n                          if (uVar22 + 1 != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }" { (expression_statement "pdVar6 = pdVar24->loc_views;" (assignment_expression "pdVar6 = pdVar24->loc_views" identifier = (field_expression "pdVar24->loc_views" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)(pdVar6 + uVar22) = 0xffffffff;" (assignment_expression "*(undefined4 *)(pdVar6 + uVar22) = 0xffffffff" (pointer_expression "*(undefined4 *)(pdVar6 + uVar22)" * (cast_expression "(undefined4 *)(pdVar6 + uVar22)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar6 + uVar22)" ( (binary_expression "pdVar6 + uVar22" identifier + identifier) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)pdVar6 + uVar22 * 8 + 4) = 0xffffffff;" (assignment_expression "*(undefined4 *)((int)pdVar6 + uVar22 * 8 + 4) = 0xffffffff" (pointer_expression "*(undefined4 *)((int)pdVar6 + uVar22 * 8 + 4)" * (cast_expression "(undefined4 *)((int)pdVar6 + uVar22 * 8 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar6 + uVar22 * 8 + 4)" ( (binary_expression "(int)pdVar6 + uVar22 * 8 + 4" (binary_expression "(int)pdVar6 + uVar22 * 8" (cast_expression "(int)pdVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar22 * 8" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (expression_statement "pdVar24->num_loc_views = uVar22 + 1;" (assignment_expression "pdVar24->num_loc_views = uVar22 + 1" (field_expression "pdVar24->num_loc_views" identifier -> field_identifier) = (binary_expression "uVar22 + 1" identifier + number_literal)) ;) (if_statement "if (uVar22 + 1 != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }" if (parenthesized_expression "(uVar22 + 1 != uVar14)" ( (binary_expression "uVar22 + 1 != uVar14" (binary_expression "uVar22 + 1" identifier + number_literal) != identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }" { comment (expression_statement "__assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");" (call_expression "__assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info")" identifier (argument_list "("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info")" ( (string_literal ""debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"" " string_content ") , (string_literal ""../../binutils/dwarf.c"" " string_content ") , number_literal , (string_literal ""process_debug_info"" " string_content ") ))) ;) })) }) (else_clause "else if (uVar14 != uVar22) {\n                          if (uVar14 - uVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          in_stack_fffffee8 = "DIE has locviews without loclist\n";\n                          pcVar13 = (char *)dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(pcVar13);\n                          pdVar24->num_loc_views = pdVar24->num_loc_views - 1;\n                        }" else (if_statement "if (uVar14 != uVar22) {\n                          if (uVar14 - uVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          in_stack_fffffee8 = "DIE has locviews without loclist\n";\n                          pcVar13 = (char *)dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(pcVar13);\n                          pdVar24->num_loc_views = pdVar24->num_loc_views - 1;\n                        }" if (parenthesized_expression "(uVar14 != uVar22)" ( (binary_expression "uVar14 != uVar22" identifier != identifier) )) (compound_statement "{\n                          if (uVar14 - uVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          in_stack_fffffee8 = "DIE has locviews without loclist\n";\n                          pcVar13 = (char *)dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(pcVar13);\n                          pdVar24->num_loc_views = pdVar24->num_loc_views - 1;\n                        }" { (if_statement "if (uVar14 - uVar22 != -1) {\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }" if (parenthesized_expression "(uVar14 - uVar22 != -1)" ( (binary_expression "uVar14 - uVar22 != -1" (binary_expression "uVar14 - uVar22" identifier - identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }" { comment (expression_statement "__assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");" (call_expression "__assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info")" identifier (argument_list "("0","../../binutils/dwarf.c",0xcab,"process_debug_info")" ( (string_literal ""0"" " string_content ") , (string_literal ""../../binutils/dwarf.c"" " string_content ") , number_literal , (string_literal ""process_debug_info"" " string_content ") ))) ;) })) (expression_statement "in_stack_fffffee8 = "DIE has locviews without loclist\n";" (assignment_expression "in_stack_fffffee8 = "DIE has locviews without loclist\n"" identifier = (string_literal ""DIE has locviews without loclist\n"" " string_content escape_sequence ")) ;) (expression_statement "pcVar13 = (char *)dcgettext(0,"DIE has locviews without loclist\n",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,"DIE has locviews without loclist\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"DIE has locviews without loclist\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"DIE has locviews without loclist\n",5)" identifier (argument_list "(0,"DIE has locviews without loclist\n",5)" ( number_literal , (string_literal ""DIE has locviews without loclist\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar13);" (call_expression "warn(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier ))) ;) (expression_statement "pdVar24->num_loc_views = pdVar24->num_loc_views - 1;" (assignment_expression "pdVar24->num_loc_views = pdVar24->num_loc_views - 1" (field_expression "pdVar24->num_loc_views" identifier -> field_identifier) = (binary_expression "pdVar24->num_loc_views - 1" (field_expression "pdVar24->num_loc_views" identifier -> field_identifier) - number_literal)) ;) })))) })) }))) (expression_statement "local_d4 = (dwarf_section *)\n                               ((int)&local_d4->uncompressed_name + (uint)(paVar4->children != 0));" (assignment_expression "local_d4 = (dwarf_section *)\n                               ((int)&local_d4->uncompressed_name + (uint)(paVar4->children != 0))" identifier = (cast_expression "(dwarf_section *)\n                               ((int)&local_d4->uncompressed_name + (uint)(paVar4->children != 0))" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_d4->uncompressed_name + (uint)(paVar4->children != 0))" ( (binary_expression "(int)&local_d4->uncompressed_name + (uint)(paVar4->children != 0)" (cast_expression "(int)&local_d4->uncompressed_name" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_d4->uncompressed_name" & (field_expression "local_d4->uncompressed_name" identifier -> field_identifier))) + (call_expression "(uint)(paVar4->children != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(paVar4->children != 0)" ( (binary_expression "paVar4->children != 0" (field_expression "paVar4->children" identifier -> field_identifier) != number_literal) )))) )))) ;) }))) }) while (parenthesized_expression "(puVar16 < local_f4)" ( (binary_expression "puVar16 < local_f4" identifier < identifier) )) ;) })) }) (else_clause "else {\n              in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n              pcVar13 = (char *)dcgettext(0,\n                                          "CU at offset %s contains corrupt or unsupported unit type: %d.\n"\n                                          ,5);\n              warn(pcVar13,in_stack_fffffee8,local_b4);\n            }" else (compound_statement "{\n              in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n              pcVar13 = (char *)dcgettext(0,\n                                          "CU at offset %s contains corrupt or unsupported unit type: %d.\n"\n                                          ,5);\n              warn(pcVar13,in_stack_fffffee8,local_b4);\n            }" { (expression_statement "in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);" (assignment_expression "in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10)" identifier = (call_expression "dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10)" identifier (argument_list "("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10)" ( (string_literal ""x"" " string_content ") , (binary_expression "ZEXT48(in_stack_fffffee8) << 0x20" (call_expression "ZEXT48(in_stack_fffffee8)" identifier (argument_list "(in_stack_fffffee8)" ( identifier ))) << number_literal) , identifier )))) ;) (expression_statement "pcVar13 = (char *)dcgettext(0,\n                                          "CU at offset %s contains corrupt or unsupported unit type: %d.\n"\n                                          ,5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,\n                                          "CU at offset %s contains corrupt or unsupported unit type: %d.\n"\n                                          ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                          "CU at offset %s contains corrupt or unsupported unit type: %d.\n"\n                                          ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                          "CU at offset %s contains corrupt or unsupported unit type: %d.\n"\n                                          ,5)" identifier (argument_list "(0,\n                                          "CU at offset %s contains corrupt or unsupported unit type: %d.\n"\n                                          ,5)" ( number_literal , (string_literal ""CU at offset %s contains corrupt or unsupported unit type: %d.\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar13,in_stack_fffffee8,local_b4);" (call_expression "warn(pcVar13,in_stack_fffffee8,local_b4)" identifier (argument_list "(pcVar13,in_stack_fffffee8,local_b4)" ( identifier , identifier , identifier ))) ;) }))) }) (else_clause "else {\n            in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n            pcVar13 = (char *)dcgettext(0,\n                                        "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                                        ,5);\n            warn(pcVar13,in_stack_fffffee8,(uint)local_e2);\n          }" else (compound_statement "{\n            in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);\n            pcVar13 = (char *)dcgettext(0,\n                                        "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                                        ,5);\n            warn(pcVar13,in_stack_fffffee8,(uint)local_e2);\n          }" { (expression_statement "in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10);" (assignment_expression "in_stack_fffffee8 = dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10)" identifier = (call_expression "dwarf_vmatoa_1("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10)" identifier (argument_list "("x",ZEXT48(in_stack_fffffee8) << 0x20,uVar10)" ( (string_literal ""x"" " string_content ") , (binary_expression "ZEXT48(in_stack_fffffee8) << 0x20" (call_expression "ZEXT48(in_stack_fffffee8)" identifier (argument_list "(in_stack_fffffee8)" ( identifier ))) << number_literal) , identifier )))) ;) (expression_statement "pcVar13 = (char *)dcgettext(0,\n                                        "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                                        ,5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,\n                                        "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                                        ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                        "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                                        ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                        "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                                        ,5)" identifier (argument_list "(0,\n                                        "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                                        ,5)" ( number_literal , (string_literal ""CU at offset %s contains corrupt or unsupported version number: %d.\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar13,in_stack_fffffee8,(uint)local_e2);" (call_expression "warn(pcVar13,in_stack_fffffee8,(uint)local_e2)" identifier (argument_list "(pcVar13,in_stack_fffffee8,(uint)local_e2)" ( identifier , identifier , (cast_expression "(uint)local_e2" ( (type_descriptor "uint" type_identifier) ) identifier) ))) ;) }))) }))) (labeled_statement "LAB_00056ae6:\n        local_a4 = local_a4 + 1;" statement_identifier : (expression_statement "local_a4 = local_a4 + 1;" (assignment_expression "local_a4 = local_a4 + 1" identifier = (binary_expression "local_a4 + 1" identifier + number_literal)) ;)) }) while (parenthesized_expression "(local_f4 < end)" ( (binary_expression "local_f4 < end" identifier < identifier) )) ;) (if_statement "if (do_loc != 0) goto LAB_00057752;" if (parenthesized_expression "(do_loc != 0)" ( (binary_expression "do_loc != 0" identifier != number_literal) )) (goto_statement "goto LAB_00057752;" goto statement_identifier ;)) })) (if_statement "if ((do_debug_loc == 0 && do_debug_ranges == 0) ||\n       (do_types != 0 || num_debug_info_entries != 0)) goto LAB_00056b59;" if (parenthesized_expression "((do_debug_loc == 0 && do_debug_ranges == 0) ||\n       (do_types != 0 || num_debug_info_entries != 0))" ( (binary_expression "(do_debug_loc == 0 && do_debug_ranges == 0) ||\n       (do_types != 0 || num_debug_info_entries != 0)" (parenthesized_expression "(do_debug_loc == 0 && do_debug_ranges == 0)" ( (binary_expression "do_debug_loc == 0 && do_debug_ranges == 0" (binary_expression "do_debug_loc == 0" identifier == number_literal) && (binary_expression "do_debug_ranges == 0" identifier == number_literal)) )) || (parenthesized_expression "(do_types != 0 || num_debug_info_entries != 0)" ( (binary_expression "do_types != 0 || num_debug_info_entries != 0" (binary_expression "do_types != 0" identifier != number_literal) || (binary_expression "num_debug_info_entries != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_00056b59;" goto statement_identifier ;)) }) (else_clause "else {\n    if (do_types == 0 && num_debug_info_entries == 0) goto LAB_00056b86;\n    puVar29 = (uchar *)0x5770c;\n    load_debug_section_with_follow(abbrev_sec,file);\n    if (*(int *)(&DAT_000b4850 + abbrev_sec * 0x40) == 0) goto LAB_00057bf6;\n    local_90 = 0;\n    if (puVar1 < end) goto LAB_0005662b;\nLAB_00057752:\n    if (do_types != 0 || num_debug_info_entries != 0) {\n      return 1;\n    }\n  }" else (compound_statement "{\n    if (do_types == 0 && num_debug_info_entries == 0) goto LAB_00056b86;\n    puVar29 = (uchar *)0x5770c;\n    load_debug_section_with_follow(abbrev_sec,file);\n    if (*(int *)(&DAT_000b4850 + abbrev_sec * 0x40) == 0) goto LAB_00057bf6;\n    local_90 = 0;\n    if (puVar1 < end) goto LAB_0005662b;\nLAB_00057752:\n    if (do_types != 0 || num_debug_info_entries != 0) {\n      return 1;\n    }\n  }" { (if_statement "if (do_types == 0 && num_debug_info_entries == 0) goto LAB_00056b86;" if (parenthesized_expression "(do_types == 0 && num_debug_info_entries == 0)" ( (binary_expression "do_types == 0 && num_debug_info_entries == 0" (binary_expression "do_types == 0" identifier == number_literal) && (binary_expression "num_debug_info_entries == 0" identifier == number_literal)) )) (goto_statement "goto LAB_00056b86;" goto statement_identifier ;)) (expression_statement "puVar29 = (uchar *)0x5770c;" (assignment_expression "puVar29 = (uchar *)0x5770c" identifier = (cast_expression "(uchar *)0x5770c" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "load_debug_section_with_follow(abbrev_sec,file);" (call_expression "load_debug_section_with_follow(abbrev_sec,file)" identifier (argument_list "(abbrev_sec,file)" ( identifier , identifier ))) ;) (if_statement "if (*(int *)(&DAT_000b4850 + abbrev_sec * 0x40) == 0) goto LAB_00057bf6;" if (parenthesized_expression "(*(int *)(&DAT_000b4850 + abbrev_sec * 0x40) == 0)" ( (binary_expression "*(int *)(&DAT_000b4850 + abbrev_sec * 0x40) == 0" (pointer_expression "*(int *)(&DAT_000b4850 + abbrev_sec * 0x40)" * (cast_expression "(int *)(&DAT_000b4850 + abbrev_sec * 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_000b4850 + abbrev_sec * 0x40)" ( (binary_expression "&DAT_000b4850 + abbrev_sec * 0x40" (pointer_expression "&DAT_000b4850" & identifier) + (binary_expression "abbrev_sec * 0x40" identifier * number_literal)) )))) == number_literal) )) (goto_statement "goto LAB_00057bf6;" goto statement_identifier ;)) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (if_statement "if (puVar1 < end) goto LAB_0005662b;" if (parenthesized_expression "(puVar1 < end)" ( (binary_expression "puVar1 < end" identifier < identifier) )) (goto_statement "goto LAB_0005662b;" goto statement_identifier ;)) (labeled_statement "LAB_00057752:\n    if (do_types != 0 || num_debug_info_entries != 0) {\n      return 1;\n    }" statement_identifier : (if_statement "if (do_types != 0 || num_debug_info_entries != 0) {\n      return 1;\n    }" if (parenthesized_expression "(do_types != 0 || num_debug_info_entries != 0)" ( (binary_expression "do_types != 0 || num_debug_info_entries != 0" (binary_expression "do_types != 0" identifier != number_literal) || (binary_expression "num_debug_info_entries != 0" identifier != number_literal)) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) }))) }))) (expression_statement "num_debug_info_entries = alloc_num_debug_info_entries;" (assignment_expression "num_debug_info_entries = alloc_num_debug_info_entries" identifier = identifier) ;) (if_statement "if (local_90 <= alloc_num_debug_info_entries) {\n    num_debug_info_entries = local_90;\n  }" if (parenthesized_expression "(local_90 <= alloc_num_debug_info_entries)" ( (binary_expression "local_90 <= alloc_num_debug_info_entries" identifier <= identifier) )) (compound_statement "{\n    num_debug_info_entries = local_90;\n  }" { (expression_statement "num_debug_info_entries = local_90;" (assignment_expression "num_debug_info_entries = local_90" identifier = identifier) ;) })) (if_statement "if (do_loc != 0) {\n    return 1;\n  }" if (parenthesized_expression "(do_loc != 0)" ( (binary_expression "do_loc != 0" identifier != number_literal) )) (compound_statement "{\n    return 1;\n  }" { (return_statement "return 1;" return number_literal ;) })) (labeled_statement "LAB_00056b59:\n  putchar(10);" statement_identifier : (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;)) (return_statement "return 1;" return number_literal ;) })))
(translation_unit "undefined4 __regparm3\nFUN_00056530(int param_1,undefined4 param_2,int param_3,int param_4,uint param_5)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined *puVar3;\n  longlong lVar4;\n  undefined8 uVar5;\n  byte bVar6;\n  int iVar7;\n  uint uVar8;\n  uint uVar9;\n  undefined4 uVar10;\n  uint uVar11;\n  uint *puVar12;\n  uint uVar13;\n  undefined4 uVar14;\n  char *pcVar15;\n  char *pcVar16;\n  char *pcVar17;\n  char *pcVar18;\n  void *pvVar19;\n  undefined4 uVar20;\n  bool bVar21;\n  int iVar22;\n  uint uVar23;\n  int *piVar24;\n  char *pcVar25;\n  int iVar26;\n  undefined8 uVar27;\n  longlong lVar28;\n  char *local_f4;\n  uint local_f0;\n  int local_ec;\n  ushort local_e2;\n  int local_d4;\n  undefined4 local_cc;\n  int local_b4;\n  uint local_b0;\n  uint local_ac;\n  uint local_a4;\n  uint local_a0;\n  uint local_9c;\n  int local_98;\n  uint local_90;\n  int local_78;\n  int local_70;\n  undefined4 local_6c;\n  undefined4 local_68;\n  undefined4 local_64;\n  undefined4 local_60;\n  int local_5c [18];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x5653b;\n  pcVar15 = *(char **)(param_1 + 0x10);\n  pcVar25 = pcVar15 + *(int *)(param_1 + 0x1c);\n  if (param_4 == 0) {\n    if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0)) {\n      local_90 = 0;\n    }\n    else {\nLAB_00056b86:\n      local_90 = 0;\n      pcVar18 = pcVar15;\n      if (pcVar25 <= pcVar15) {\nLAB_00057e2b:\n        uVar10 = *(undefined4 *)(param_1 + 8);\n        uVar14 = dcgettext(0,"No comp units in %s section ?\n",5);\n        error(uVar14,uVar10);\n        return 0;\n      }\n      do {\n        pcVar17 = pcVar18 + 4;\n        if (pcVar25 <= pcVar17) {\n          iVar7 = (int)pcVar25 - (int)pcVar18;\n          if (iVar7 - 1U < 8) goto LAB_000570ed;\nLAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);\n          uVar14 = FUN_0004cb50(0);\n          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);\n          warn(uVar20,uVar14,uVar10);\n          return 0;\n        }\n        iVar7 = 4;\nLAB_000570ed:\n        lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n        if (lVar28 == 0xffffffff) {\n          if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;\n          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);\n          pcVar18 = pcVar18 + iVar7 + 0xc;\n          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;\n        }\n        else {\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }\n        if (bVar21) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      } while (pcVar18 < pcVar25);\n      if (local_90 == 0) goto LAB_00057e2b;\n      if (0x3333332 < local_90) {\n        DAT_000b9d64 = (void *)0x0;\n        uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(uVar10,local_90);\n        DAT_000b9d68 = 0;\n        DAT_000b9d6c = 0;\n        return 0;\n      }\n      DAT_000b9d64 = (void *)FUN_0006b190(local_90 * 0x50);\n      memset(DAT_000b9d64,0,local_90 * 0x50);\n      DAT_000b9d68 = local_90;\n      if (param_4 != 0) {\n        FUN_0004e130();\n        if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n        param_5 = 0;\n        goto LAB_0005662b;\n      }\n    }\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) {\nLAB_00057bf6:\n      puVar3 = (&PTR_s__debug_abbrev_000b4840)[param_3 * 0x10];\n      uVar10 = dcgettext(0,"Unable to locate %s section!\n",5);\n      warn(uVar10,puVar3);\n      return 0;\n    }\n    if (DAT_000b9dd4 == 0) {\n      FUN_0004eb80();\n    }\n    if (pcVar15 < pcVar25) {\nLAB_0005662b:\n      local_a4 = 0;\n      local_f4 = pcVar15;\n      do {\n        local_6c = 0;\n        local_68 = 0;\n        local_64 = 0;\n        pcVar18 = local_f4 + 4;\n        local_60 = 0;\n        pcVar17 = pcVar18;\n        if (pcVar18 < pcVar25) {\n          iVar7 = 4;\nLAB_00056d25:\n          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);\n          if (lVar28 == 0xffffffff) {\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }\n          else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;\nLAB_000566e9:\n          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);\n        }\n        else {\n          iVar7 = (int)pcVar25 - (int)local_f4;\n          if (iVar7 - 1U < 8) goto LAB_00056d25;\n          local_cc = 4;\n          pcVar16 = local_f4 + 6;\n          local_d4 = 4;\n          local_f0 = 4;\njoined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }\n          lVar28 = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }\n        local_ec = (int)lVar28;\n        uVar8 = (int)local_f4 - (int)pcVar15;\n        uVar9 = (int)uVar8 >> 0x1f;\n        if (param_5 == 0) {\n          iVar22 = 1;\n          iVar7 = DAT_000b9d34;\n          iVar26 = DAT_000b9d2c;\n        }\n        else {\n          iVar22 = 2;\n          iVar7 = DAT_000b9d30;\n          iVar26 = DAT_000b9d28;\n        }\n        for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;\n          iVar26 = iVar26 + 0x68;\n        }\n        iVar26 = 0;\njoined_r0x0005676e:\n        uVar13 = local_f0;\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar6 = 0xff;\njoined_r0x000567df:\n          pcVar18 = pcVar16 + local_f0;\n          if ((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))\n          goto LAB_00056caa;\nLAB_000567f7:\n          uVar27 = 0;\n          uVar5 = 0;\n          if (iVar26 != 0) goto LAB_0005680f;\nLAB_00056cce:\n          uVar27 = uVar5;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n        }\n        else {\n          pcVar18 = pcVar17 + 3;\n          if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }\n          pcVar16 = pcVar17 + 4;\n          bVar6 = 0;\n          pcVar18 = pcVar16 + local_f0;\n          if (pcVar25 <= pcVar18) goto LAB_000567f7;\nLAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);\n          uVar5 = uVar27;\n          if (iVar26 == 0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);\n          local_98 = *(int *)(iVar26 + 0x24);\n          local_ac = *(uint *)(iVar26 + 0x54);\n        }\n        local_a0 = (uint)((ulonglong)uVar27 >> 0x20);\n        local_b0 = (uint)uVar27;\n        pcVar17 = pcVar18;\n        if (local_e2 < 5) {\n          pcVar17 = pcVar18 + 1;\n          if (pcVar17 < pcVar25) {\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }\n          if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))\n          goto LAB_00056c35;\n          bVar6 = 0;\nLAB_00056853:\n          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;\n          warn(uVar10,bVar6,local_f0);\n          bVar6 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;\n        }\n        if (param_5 != 0) {\n          pcVar18 = pcVar17 + 8;\n          if (pcVar25 < pcVar18) {\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }\n          else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }\n          pcVar17 = pcVar18 + local_f0;\n          uVar13 = local_f0;\n          if ((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }\n        }\n        uVar13 = DAT_000b9dd4;\n        uVar11 = local_d4 + uVar8;\n        lVar4 = lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8;\n        if ((uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4)) {\n          local_f4 = pcVar15 + uVar11 + local_ec;\n        }\n        else {\n          if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);\n          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);\n          if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + local_d4 + local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }\n        }\nLAB_00056ae6:\n        local_a4 = local_a4 + 1;\n      } while (local_f4 < pcVar25);\n      if (param_4 != 0) goto LAB_00057752;\n    }\n    if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0))\n    goto LAB_00056b59;\n  }\n  else {\n    if (param_5 == 0 && DAT_000b9d6c == 0) goto LAB_00056b86;\n    FUN_0004e130();\n    if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n    local_90 = 0;\n    if (pcVar15 < pcVar25) goto LAB_0005662b;\nLAB_00057752:\n    if (param_5 != 0 || DAT_000b9d6c != 0) {\n      return 1;\n    }\n  }\n  DAT_000b9d6c = DAT_000b9d68;\n  if (local_90 <= DAT_000b9d68) {\n    DAT_000b9d6c = local_90;\n  }\n  if (param_4 != 0) {\n    return 1;\n  }\nLAB_00056b59:\n  putchar(10);\n  return 1;\n}\n\n" (function_definition "undefined4 __regparm3\nFUN_00056530(int param_1,undefined4 param_2,int param_3,int param_4,uint param_5)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined *puVar3;\n  longlong lVar4;\n  undefined8 uVar5;\n  byte bVar6;\n  int iVar7;\n  uint uVar8;\n  uint uVar9;\n  undefined4 uVar10;\n  uint uVar11;\n  uint *puVar12;\n  uint uVar13;\n  undefined4 uVar14;\n  char *pcVar15;\n  char *pcVar16;\n  char *pcVar17;\n  char *pcVar18;\n  void *pvVar19;\n  undefined4 uVar20;\n  bool bVar21;\n  int iVar22;\n  uint uVar23;\n  int *piVar24;\n  char *pcVar25;\n  int iVar26;\n  undefined8 uVar27;\n  longlong lVar28;\n  char *local_f4;\n  uint local_f0;\n  int local_ec;\n  ushort local_e2;\n  int local_d4;\n  undefined4 local_cc;\n  int local_b4;\n  uint local_b0;\n  uint local_ac;\n  uint local_a4;\n  uint local_a0;\n  uint local_9c;\n  int local_98;\n  uint local_90;\n  int local_78;\n  int local_70;\n  undefined4 local_6c;\n  undefined4 local_68;\n  undefined4 local_64;\n  undefined4 local_60;\n  int local_5c [18];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x5653b;\n  pcVar15 = *(char **)(param_1 + 0x10);\n  pcVar25 = pcVar15 + *(int *)(param_1 + 0x1c);\n  if (param_4 == 0) {\n    if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0)) {\n      local_90 = 0;\n    }\n    else {\nLAB_00056b86:\n      local_90 = 0;\n      pcVar18 = pcVar15;\n      if (pcVar25 <= pcVar15) {\nLAB_00057e2b:\n        uVar10 = *(undefined4 *)(param_1 + 8);\n        uVar14 = dcgettext(0,"No comp units in %s section ?\n",5);\n        error(uVar14,uVar10);\n        return 0;\n      }\n      do {\n        pcVar17 = pcVar18 + 4;\n        if (pcVar25 <= pcVar17) {\n          iVar7 = (int)pcVar25 - (int)pcVar18;\n          if (iVar7 - 1U < 8) goto LAB_000570ed;\nLAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);\n          uVar14 = FUN_0004cb50(0);\n          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);\n          warn(uVar20,uVar14,uVar10);\n          return 0;\n        }\n        iVar7 = 4;\nLAB_000570ed:\n        lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n        if (lVar28 == 0xffffffff) {\n          if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;\n          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);\n          pcVar18 = pcVar18 + iVar7 + 0xc;\n          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;\n        }\n        else {\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }\n        if (bVar21) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      } while (pcVar18 < pcVar25);\n      if (local_90 == 0) goto LAB_00057e2b;\n      if (0x3333332 < local_90) {\n        DAT_000b9d64 = (void *)0x0;\n        uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(uVar10,local_90);\n        DAT_000b9d68 = 0;\n        DAT_000b9d6c = 0;\n        return 0;\n      }\n      DAT_000b9d64 = (void *)FUN_0006b190(local_90 * 0x50);\n      memset(DAT_000b9d64,0,local_90 * 0x50);\n      DAT_000b9d68 = local_90;\n      if (param_4 != 0) {\n        FUN_0004e130();\n        if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n        param_5 = 0;\n        goto LAB_0005662b;\n      }\n    }\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) {\nLAB_00057bf6:\n      puVar3 = (&PTR_s__debug_abbrev_000b4840)[param_3 * 0x10];\n      uVar10 = dcgettext(0,"Unable to locate %s section!\n",5);\n      warn(uVar10,puVar3);\n      return 0;\n    }\n    if (DAT_000b9dd4 == 0) {\n      FUN_0004eb80();\n    }\n    if (pcVar15 < pcVar25) {\nLAB_0005662b:\n      local_a4 = 0;\n      local_f4 = pcVar15;\n      do {\n        local_6c = 0;\n        local_68 = 0;\n        local_64 = 0;\n        pcVar18 = local_f4 + 4;\n        local_60 = 0;\n        pcVar17 = pcVar18;\n        if (pcVar18 < pcVar25) {\n          iVar7 = 4;\nLAB_00056d25:\n          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);\n          if (lVar28 == 0xffffffff) {\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }\n          else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;\nLAB_000566e9:\n          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);\n        }\n        else {\n          iVar7 = (int)pcVar25 - (int)local_f4;\n          if (iVar7 - 1U < 8) goto LAB_00056d25;\n          local_cc = 4;\n          pcVar16 = local_f4 + 6;\n          local_d4 = 4;\n          local_f0 = 4;\njoined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }\n          lVar28 = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }\n        local_ec = (int)lVar28;\n        uVar8 = (int)local_f4 - (int)pcVar15;\n        uVar9 = (int)uVar8 >> 0x1f;\n        if (param_5 == 0) {\n          iVar22 = 1;\n          iVar7 = DAT_000b9d34;\n          iVar26 = DAT_000b9d2c;\n        }\n        else {\n          iVar22 = 2;\n          iVar7 = DAT_000b9d30;\n          iVar26 = DAT_000b9d28;\n        }\n        for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;\n          iVar26 = iVar26 + 0x68;\n        }\n        iVar26 = 0;\njoined_r0x0005676e:\n        uVar13 = local_f0;\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar6 = 0xff;\njoined_r0x000567df:\n          pcVar18 = pcVar16 + local_f0;\n          if ((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))\n          goto LAB_00056caa;\nLAB_000567f7:\n          uVar27 = 0;\n          uVar5 = 0;\n          if (iVar26 != 0) goto LAB_0005680f;\nLAB_00056cce:\n          uVar27 = uVar5;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n        }\n        else {\n          pcVar18 = pcVar17 + 3;\n          if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }\n          pcVar16 = pcVar17 + 4;\n          bVar6 = 0;\n          pcVar18 = pcVar16 + local_f0;\n          if (pcVar25 <= pcVar18) goto LAB_000567f7;\nLAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);\n          uVar5 = uVar27;\n          if (iVar26 == 0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);\n          local_98 = *(int *)(iVar26 + 0x24);\n          local_ac = *(uint *)(iVar26 + 0x54);\n        }\n        local_a0 = (uint)((ulonglong)uVar27 >> 0x20);\n        local_b0 = (uint)uVar27;\n        pcVar17 = pcVar18;\n        if (local_e2 < 5) {\n          pcVar17 = pcVar18 + 1;\n          if (pcVar17 < pcVar25) {\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }\n          if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))\n          goto LAB_00056c35;\n          bVar6 = 0;\nLAB_00056853:\n          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;\n          warn(uVar10,bVar6,local_f0);\n          bVar6 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;\n        }\n        if (param_5 != 0) {\n          pcVar18 = pcVar17 + 8;\n          if (pcVar25 < pcVar18) {\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }\n          else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }\n          pcVar17 = pcVar18 + local_f0;\n          uVar13 = local_f0;\n          if ((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }\n        }\n        uVar13 = DAT_000b9dd4;\n        uVar11 = local_d4 + uVar8;\n        lVar4 = lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8;\n        if ((uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4)) {\n          local_f4 = pcVar15 + uVar11 + local_ec;\n        }\n        else {\n          if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);\n          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);\n          if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + local_d4 + local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }\n        }\nLAB_00056ae6:\n        local_a4 = local_a4 + 1;\n      } while (local_f4 < pcVar25);\n      if (param_4 != 0) goto LAB_00057752;\n    }\n    if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0))\n    goto LAB_00056b59;\n  }\n  else {\n    if (param_5 == 0 && DAT_000b9d6c == 0) goto LAB_00056b86;\n    FUN_0004e130();\n    if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n    local_90 = 0;\n    if (pcVar15 < pcVar25) goto LAB_0005662b;\nLAB_00057752:\n    if (param_5 != 0 || DAT_000b9d6c != 0) {\n      return 1;\n    }\n  }\n  DAT_000b9d6c = DAT_000b9d68;\n  if (local_90 <= DAT_000b9d68) {\n    DAT_000b9d6c = local_90;\n  }\n  if (param_4 != 0) {\n    return 1;\n  }\nLAB_00056b59:\n  putchar(10);\n  return 1;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_00056530(int param_1,undefined4 param_2,int param_3,int param_4,uint param_5)" identifier (parameter_list "(int param_1,undefined4 param_2,int param_3,int param_4,uint param_5)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "uint param_5" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  undefined *puVar3;\n  longlong lVar4;\n  undefined8 uVar5;\n  byte bVar6;\n  int iVar7;\n  uint uVar8;\n  uint uVar9;\n  undefined4 uVar10;\n  uint uVar11;\n  uint *puVar12;\n  uint uVar13;\n  undefined4 uVar14;\n  char *pcVar15;\n  char *pcVar16;\n  char *pcVar17;\n  char *pcVar18;\n  void *pvVar19;\n  undefined4 uVar20;\n  bool bVar21;\n  int iVar22;\n  uint uVar23;\n  int *piVar24;\n  char *pcVar25;\n  int iVar26;\n  undefined8 uVar27;\n  longlong lVar28;\n  char *local_f4;\n  uint local_f0;\n  int local_ec;\n  ushort local_e2;\n  int local_d4;\n  undefined4 local_cc;\n  int local_b4;\n  uint local_b0;\n  uint local_ac;\n  uint local_a4;\n  uint local_a0;\n  uint local_9c;\n  int local_98;\n  uint local_90;\n  int local_78;\n  int local_70;\n  undefined4 local_6c;\n  undefined4 local_68;\n  undefined4 local_64;\n  undefined4 local_60;\n  int local_5c [18];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x5653b;\n  pcVar15 = *(char **)(param_1 + 0x10);\n  pcVar25 = pcVar15 + *(int *)(param_1 + 0x1c);\n  if (param_4 == 0) {\n    if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0)) {\n      local_90 = 0;\n    }\n    else {\nLAB_00056b86:\n      local_90 = 0;\n      pcVar18 = pcVar15;\n      if (pcVar25 <= pcVar15) {\nLAB_00057e2b:\n        uVar10 = *(undefined4 *)(param_1 + 8);\n        uVar14 = dcgettext(0,"No comp units in %s section ?\n",5);\n        error(uVar14,uVar10);\n        return 0;\n      }\n      do {\n        pcVar17 = pcVar18 + 4;\n        if (pcVar25 <= pcVar17) {\n          iVar7 = (int)pcVar25 - (int)pcVar18;\n          if (iVar7 - 1U < 8) goto LAB_000570ed;\nLAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);\n          uVar14 = FUN_0004cb50(0);\n          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);\n          warn(uVar20,uVar14,uVar10);\n          return 0;\n        }\n        iVar7 = 4;\nLAB_000570ed:\n        lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n        if (lVar28 == 0xffffffff) {\n          if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;\n          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);\n          pcVar18 = pcVar18 + iVar7 + 0xc;\n          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;\n        }\n        else {\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }\n        if (bVar21) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      } while (pcVar18 < pcVar25);\n      if (local_90 == 0) goto LAB_00057e2b;\n      if (0x3333332 < local_90) {\n        DAT_000b9d64 = (void *)0x0;\n        uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(uVar10,local_90);\n        DAT_000b9d68 = 0;\n        DAT_000b9d6c = 0;\n        return 0;\n      }\n      DAT_000b9d64 = (void *)FUN_0006b190(local_90 * 0x50);\n      memset(DAT_000b9d64,0,local_90 * 0x50);\n      DAT_000b9d68 = local_90;\n      if (param_4 != 0) {\n        FUN_0004e130();\n        if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n        param_5 = 0;\n        goto LAB_0005662b;\n      }\n    }\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) {\nLAB_00057bf6:\n      puVar3 = (&PTR_s__debug_abbrev_000b4840)[param_3 * 0x10];\n      uVar10 = dcgettext(0,"Unable to locate %s section!\n",5);\n      warn(uVar10,puVar3);\n      return 0;\n    }\n    if (DAT_000b9dd4 == 0) {\n      FUN_0004eb80();\n    }\n    if (pcVar15 < pcVar25) {\nLAB_0005662b:\n      local_a4 = 0;\n      local_f4 = pcVar15;\n      do {\n        local_6c = 0;\n        local_68 = 0;\n        local_64 = 0;\n        pcVar18 = local_f4 + 4;\n        local_60 = 0;\n        pcVar17 = pcVar18;\n        if (pcVar18 < pcVar25) {\n          iVar7 = 4;\nLAB_00056d25:\n          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);\n          if (lVar28 == 0xffffffff) {\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }\n          else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;\nLAB_000566e9:\n          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);\n        }\n        else {\n          iVar7 = (int)pcVar25 - (int)local_f4;\n          if (iVar7 - 1U < 8) goto LAB_00056d25;\n          local_cc = 4;\n          pcVar16 = local_f4 + 6;\n          local_d4 = 4;\n          local_f0 = 4;\njoined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }\n          lVar28 = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }\n        local_ec = (int)lVar28;\n        uVar8 = (int)local_f4 - (int)pcVar15;\n        uVar9 = (int)uVar8 >> 0x1f;\n        if (param_5 == 0) {\n          iVar22 = 1;\n          iVar7 = DAT_000b9d34;\n          iVar26 = DAT_000b9d2c;\n        }\n        else {\n          iVar22 = 2;\n          iVar7 = DAT_000b9d30;\n          iVar26 = DAT_000b9d28;\n        }\n        for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;\n          iVar26 = iVar26 + 0x68;\n        }\n        iVar26 = 0;\njoined_r0x0005676e:\n        uVar13 = local_f0;\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar6 = 0xff;\njoined_r0x000567df:\n          pcVar18 = pcVar16 + local_f0;\n          if ((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))\n          goto LAB_00056caa;\nLAB_000567f7:\n          uVar27 = 0;\n          uVar5 = 0;\n          if (iVar26 != 0) goto LAB_0005680f;\nLAB_00056cce:\n          uVar27 = uVar5;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n        }\n        else {\n          pcVar18 = pcVar17 + 3;\n          if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }\n          pcVar16 = pcVar17 + 4;\n          bVar6 = 0;\n          pcVar18 = pcVar16 + local_f0;\n          if (pcVar25 <= pcVar18) goto LAB_000567f7;\nLAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);\n          uVar5 = uVar27;\n          if (iVar26 == 0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);\n          local_98 = *(int *)(iVar26 + 0x24);\n          local_ac = *(uint *)(iVar26 + 0x54);\n        }\n        local_a0 = (uint)((ulonglong)uVar27 >> 0x20);\n        local_b0 = (uint)uVar27;\n        pcVar17 = pcVar18;\n        if (local_e2 < 5) {\n          pcVar17 = pcVar18 + 1;\n          if (pcVar17 < pcVar25) {\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }\n          if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))\n          goto LAB_00056c35;\n          bVar6 = 0;\nLAB_00056853:\n          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;\n          warn(uVar10,bVar6,local_f0);\n          bVar6 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;\n        }\n        if (param_5 != 0) {\n          pcVar18 = pcVar17 + 8;\n          if (pcVar25 < pcVar18) {\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }\n          else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }\n          pcVar17 = pcVar18 + local_f0;\n          uVar13 = local_f0;\n          if ((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }\n        }\n        uVar13 = DAT_000b9dd4;\n        uVar11 = local_d4 + uVar8;\n        lVar4 = lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8;\n        if ((uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4)) {\n          local_f4 = pcVar15 + uVar11 + local_ec;\n        }\n        else {\n          if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);\n          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);\n          if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + local_d4 + local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }\n        }\nLAB_00056ae6:\n        local_a4 = local_a4 + 1;\n      } while (local_f4 < pcVar25);\n      if (param_4 != 0) goto LAB_00057752;\n    }\n    if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0))\n    goto LAB_00056b59;\n  }\n  else {\n    if (param_5 == 0 && DAT_000b9d6c == 0) goto LAB_00056b86;\n    FUN_0004e130();\n    if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n    local_90 = 0;\n    if (pcVar15 < pcVar25) goto LAB_0005662b;\nLAB_00057752:\n    if (param_5 != 0 || DAT_000b9d6c != 0) {\n      return 1;\n    }\n  }\n  DAT_000b9d6c = DAT_000b9d68;\n  if (local_90 <= DAT_000b9d68) {\n    DAT_000b9d6c = local_90;\n  }\n  if (param_4 != 0) {\n    return 1;\n  }\nLAB_00056b59:\n  putchar(10);\n  return 1;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "longlong lVar4;" type_identifier identifier ;) (declaration "undefined8 uVar5;" type_identifier identifier ;) (declaration "byte bVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (declaration "char *pcVar15;" primitive_type (pointer_declarator "*pcVar15" * identifier) ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "char *pcVar17;" primitive_type (pointer_declarator "*pcVar17" * identifier) ;) (declaration "char *pcVar18;" primitive_type (pointer_declarator "*pcVar18" * identifier) ;) (declaration "void *pvVar19;" primitive_type (pointer_declarator "*pvVar19" * identifier) ;) (declaration "undefined4 uVar20;" type_identifier identifier ;) (declaration "bool bVar21;" primitive_type identifier ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "int *piVar24;" primitive_type (pointer_declarator "*piVar24" * identifier) ;) (declaration "char *pcVar25;" primitive_type (pointer_declarator "*pcVar25" * identifier) ;) (declaration "int iVar26;" primitive_type identifier ;) (declaration "undefined8 uVar27;" type_identifier identifier ;) (declaration "longlong lVar28;" type_identifier identifier ;) (declaration "char *local_f4;" primitive_type (pointer_declarator "*local_f4" * identifier) ;) (declaration "uint local_f0;" type_identifier identifier ;) (declaration "int local_ec;" primitive_type identifier ;) (declaration "ushort local_e2;" type_identifier identifier ;) (declaration "int local_d4;" primitive_type identifier ;) (declaration "undefined4 local_cc;" type_identifier identifier ;) (declaration "int local_b4;" primitive_type identifier ;) (declaration "uint local_b0;" type_identifier identifier ;) (declaration "uint local_ac;" type_identifier identifier ;) (declaration "uint local_a4;" type_identifier identifier ;) (declaration "uint local_a0;" type_identifier identifier ;) (declaration "uint local_9c;" type_identifier identifier ;) (declaration "int local_98;" primitive_type identifier ;) (declaration "uint local_90;" type_identifier identifier ;) (declaration "int local_78;" primitive_type identifier ;) (declaration "int local_70;" primitive_type identifier ;) (declaration "undefined4 local_6c;" type_identifier identifier ;) (declaration "undefined4 local_68;" type_identifier identifier ;) (declaration "undefined4 local_64;" type_identifier identifier ;) (declaration "undefined4 local_60;" type_identifier identifier ;) (declaration "int local_5c [18];" primitive_type (array_declarator "local_5c [18]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x5653b;" (assignment_expression "uStack_14 = 0x5653b" identifier = number_literal) ;) (expression_statement "pcVar15 = *(char **)(param_1 + 0x10);" (assignment_expression "pcVar15 = *(char **)(param_1 + 0x10)" identifier = (pointer_expression "*(char **)(param_1 + 0x10)" * (cast_expression "(char **)(param_1 + 0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "pcVar25 = pcVar15 + *(int *)(param_1 + 0x1c);" (assignment_expression "pcVar25 = pcVar15 + *(int *)(param_1 + 0x1c)" identifier = (binary_expression "pcVar15 + *(int *)(param_1 + 0x1c)" 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) )))))) ;) (if_statement "if (param_4 == 0) {\n    if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0)) {\n      local_90 = 0;\n    }\n    else {\nLAB_00056b86:\n      local_90 = 0;\n      pcVar18 = pcVar15;\n      if (pcVar25 <= pcVar15) {\nLAB_00057e2b:\n        uVar10 = *(undefined4 *)(param_1 + 8);\n        uVar14 = dcgettext(0,"No comp units in %s section ?\n",5);\n        error(uVar14,uVar10);\n        return 0;\n      }\n      do {\n        pcVar17 = pcVar18 + 4;\n        if (pcVar25 <= pcVar17) {\n          iVar7 = (int)pcVar25 - (int)pcVar18;\n          if (iVar7 - 1U < 8) goto LAB_000570ed;\nLAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);\n          uVar14 = FUN_0004cb50(0);\n          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);\n          warn(uVar20,uVar14,uVar10);\n          return 0;\n        }\n        iVar7 = 4;\nLAB_000570ed:\n        lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n        if (lVar28 == 0xffffffff) {\n          if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;\n          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);\n          pcVar18 = pcVar18 + iVar7 + 0xc;\n          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;\n        }\n        else {\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }\n        if (bVar21) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      } while (pcVar18 < pcVar25);\n      if (local_90 == 0) goto LAB_00057e2b;\n      if (0x3333332 < local_90) {\n        DAT_000b9d64 = (void *)0x0;\n        uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(uVar10,local_90);\n        DAT_000b9d68 = 0;\n        DAT_000b9d6c = 0;\n        return 0;\n      }\n      DAT_000b9d64 = (void *)FUN_0006b190(local_90 * 0x50);\n      memset(DAT_000b9d64,0,local_90 * 0x50);\n      DAT_000b9d68 = local_90;\n      if (param_4 != 0) {\n        FUN_0004e130();\n        if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n        param_5 = 0;\n        goto LAB_0005662b;\n      }\n    }\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) {\nLAB_00057bf6:\n      puVar3 = (&PTR_s__debug_abbrev_000b4840)[param_3 * 0x10];\n      uVar10 = dcgettext(0,"Unable to locate %s section!\n",5);\n      warn(uVar10,puVar3);\n      return 0;\n    }\n    if (DAT_000b9dd4 == 0) {\n      FUN_0004eb80();\n    }\n    if (pcVar15 < pcVar25) {\nLAB_0005662b:\n      local_a4 = 0;\n      local_f4 = pcVar15;\n      do {\n        local_6c = 0;\n        local_68 = 0;\n        local_64 = 0;\n        pcVar18 = local_f4 + 4;\n        local_60 = 0;\n        pcVar17 = pcVar18;\n        if (pcVar18 < pcVar25) {\n          iVar7 = 4;\nLAB_00056d25:\n          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);\n          if (lVar28 == 0xffffffff) {\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }\n          else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;\nLAB_000566e9:\n          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);\n        }\n        else {\n          iVar7 = (int)pcVar25 - (int)local_f4;\n          if (iVar7 - 1U < 8) goto LAB_00056d25;\n          local_cc = 4;\n          pcVar16 = local_f4 + 6;\n          local_d4 = 4;\n          local_f0 = 4;\njoined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }\n          lVar28 = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }\n        local_ec = (int)lVar28;\n        uVar8 = (int)local_f4 - (int)pcVar15;\n        uVar9 = (int)uVar8 >> 0x1f;\n        if (param_5 == 0) {\n          iVar22 = 1;\n          iVar7 = DAT_000b9d34;\n          iVar26 = DAT_000b9d2c;\n        }\n        else {\n          iVar22 = 2;\n          iVar7 = DAT_000b9d30;\n          iVar26 = DAT_000b9d28;\n        }\n        for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;\n          iVar26 = iVar26 + 0x68;\n        }\n        iVar26 = 0;\njoined_r0x0005676e:\n        uVar13 = local_f0;\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar6 = 0xff;\njoined_r0x000567df:\n          pcVar18 = pcVar16 + local_f0;\n          if ((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))\n          goto LAB_00056caa;\nLAB_000567f7:\n          uVar27 = 0;\n          uVar5 = 0;\n          if (iVar26 != 0) goto LAB_0005680f;\nLAB_00056cce:\n          uVar27 = uVar5;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n        }\n        else {\n          pcVar18 = pcVar17 + 3;\n          if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }\n          pcVar16 = pcVar17 + 4;\n          bVar6 = 0;\n          pcVar18 = pcVar16 + local_f0;\n          if (pcVar25 <= pcVar18) goto LAB_000567f7;\nLAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);\n          uVar5 = uVar27;\n          if (iVar26 == 0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);\n          local_98 = *(int *)(iVar26 + 0x24);\n          local_ac = *(uint *)(iVar26 + 0x54);\n        }\n        local_a0 = (uint)((ulonglong)uVar27 >> 0x20);\n        local_b0 = (uint)uVar27;\n        pcVar17 = pcVar18;\n        if (local_e2 < 5) {\n          pcVar17 = pcVar18 + 1;\n          if (pcVar17 < pcVar25) {\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }\n          if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))\n          goto LAB_00056c35;\n          bVar6 = 0;\nLAB_00056853:\n          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;\n          warn(uVar10,bVar6,local_f0);\n          bVar6 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;\n        }\n        if (param_5 != 0) {\n          pcVar18 = pcVar17 + 8;\n          if (pcVar25 < pcVar18) {\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }\n          else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }\n          pcVar17 = pcVar18 + local_f0;\n          uVar13 = local_f0;\n          if ((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }\n        }\n        uVar13 = DAT_000b9dd4;\n        uVar11 = local_d4 + uVar8;\n        lVar4 = lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8;\n        if ((uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4)) {\n          local_f4 = pcVar15 + uVar11 + local_ec;\n        }\n        else {\n          if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);\n          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);\n          if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + local_d4 + local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }\n        }\nLAB_00056ae6:\n        local_a4 = local_a4 + 1;\n      } while (local_f4 < pcVar25);\n      if (param_4 != 0) goto LAB_00057752;\n    }\n    if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0))\n    goto LAB_00056b59;\n  }\n  else {\n    if (param_5 == 0 && DAT_000b9d6c == 0) goto LAB_00056b86;\n    FUN_0004e130();\n    if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n    local_90 = 0;\n    if (pcVar15 < pcVar25) goto LAB_0005662b;\nLAB_00057752:\n    if (param_5 != 0 || DAT_000b9d6c != 0) {\n      return 1;\n    }\n  }" if (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) (compound_statement "{\n    if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0)) {\n      local_90 = 0;\n    }\n    else {\nLAB_00056b86:\n      local_90 = 0;\n      pcVar18 = pcVar15;\n      if (pcVar25 <= pcVar15) {\nLAB_00057e2b:\n        uVar10 = *(undefined4 *)(param_1 + 8);\n        uVar14 = dcgettext(0,"No comp units in %s section ?\n",5);\n        error(uVar14,uVar10);\n        return 0;\n      }\n      do {\n        pcVar17 = pcVar18 + 4;\n        if (pcVar25 <= pcVar17) {\n          iVar7 = (int)pcVar25 - (int)pcVar18;\n          if (iVar7 - 1U < 8) goto LAB_000570ed;\nLAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);\n          uVar14 = FUN_0004cb50(0);\n          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);\n          warn(uVar20,uVar14,uVar10);\n          return 0;\n        }\n        iVar7 = 4;\nLAB_000570ed:\n        lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n        if (lVar28 == 0xffffffff) {\n          if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;\n          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);\n          pcVar18 = pcVar18 + iVar7 + 0xc;\n          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;\n        }\n        else {\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }\n        if (bVar21) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      } while (pcVar18 < pcVar25);\n      if (local_90 == 0) goto LAB_00057e2b;\n      if (0x3333332 < local_90) {\n        DAT_000b9d64 = (void *)0x0;\n        uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(uVar10,local_90);\n        DAT_000b9d68 = 0;\n        DAT_000b9d6c = 0;\n        return 0;\n      }\n      DAT_000b9d64 = (void *)FUN_0006b190(local_90 * 0x50);\n      memset(DAT_000b9d64,0,local_90 * 0x50);\n      DAT_000b9d68 = local_90;\n      if (param_4 != 0) {\n        FUN_0004e130();\n        if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n        param_5 = 0;\n        goto LAB_0005662b;\n      }\n    }\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) {\nLAB_00057bf6:\n      puVar3 = (&PTR_s__debug_abbrev_000b4840)[param_3 * 0x10];\n      uVar10 = dcgettext(0,"Unable to locate %s section!\n",5);\n      warn(uVar10,puVar3);\n      return 0;\n    }\n    if (DAT_000b9dd4 == 0) {\n      FUN_0004eb80();\n    }\n    if (pcVar15 < pcVar25) {\nLAB_0005662b:\n      local_a4 = 0;\n      local_f4 = pcVar15;\n      do {\n        local_6c = 0;\n        local_68 = 0;\n        local_64 = 0;\n        pcVar18 = local_f4 + 4;\n        local_60 = 0;\n        pcVar17 = pcVar18;\n        if (pcVar18 < pcVar25) {\n          iVar7 = 4;\nLAB_00056d25:\n          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);\n          if (lVar28 == 0xffffffff) {\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }\n          else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;\nLAB_000566e9:\n          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);\n        }\n        else {\n          iVar7 = (int)pcVar25 - (int)local_f4;\n          if (iVar7 - 1U < 8) goto LAB_00056d25;\n          local_cc = 4;\n          pcVar16 = local_f4 + 6;\n          local_d4 = 4;\n          local_f0 = 4;\njoined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }\n          lVar28 = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }\n        local_ec = (int)lVar28;\n        uVar8 = (int)local_f4 - (int)pcVar15;\n        uVar9 = (int)uVar8 >> 0x1f;\n        if (param_5 == 0) {\n          iVar22 = 1;\n          iVar7 = DAT_000b9d34;\n          iVar26 = DAT_000b9d2c;\n        }\n        else {\n          iVar22 = 2;\n          iVar7 = DAT_000b9d30;\n          iVar26 = DAT_000b9d28;\n        }\n        for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;\n          iVar26 = iVar26 + 0x68;\n        }\n        iVar26 = 0;\njoined_r0x0005676e:\n        uVar13 = local_f0;\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar6 = 0xff;\njoined_r0x000567df:\n          pcVar18 = pcVar16 + local_f0;\n          if ((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))\n          goto LAB_00056caa;\nLAB_000567f7:\n          uVar27 = 0;\n          uVar5 = 0;\n          if (iVar26 != 0) goto LAB_0005680f;\nLAB_00056cce:\n          uVar27 = uVar5;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n        }\n        else {\n          pcVar18 = pcVar17 + 3;\n          if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }\n          pcVar16 = pcVar17 + 4;\n          bVar6 = 0;\n          pcVar18 = pcVar16 + local_f0;\n          if (pcVar25 <= pcVar18) goto LAB_000567f7;\nLAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);\n          uVar5 = uVar27;\n          if (iVar26 == 0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);\n          local_98 = *(int *)(iVar26 + 0x24);\n          local_ac = *(uint *)(iVar26 + 0x54);\n        }\n        local_a0 = (uint)((ulonglong)uVar27 >> 0x20);\n        local_b0 = (uint)uVar27;\n        pcVar17 = pcVar18;\n        if (local_e2 < 5) {\n          pcVar17 = pcVar18 + 1;\n          if (pcVar17 < pcVar25) {\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }\n          if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))\n          goto LAB_00056c35;\n          bVar6 = 0;\nLAB_00056853:\n          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;\n          warn(uVar10,bVar6,local_f0);\n          bVar6 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;\n        }\n        if (param_5 != 0) {\n          pcVar18 = pcVar17 + 8;\n          if (pcVar25 < pcVar18) {\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }\n          else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }\n          pcVar17 = pcVar18 + local_f0;\n          uVar13 = local_f0;\n          if ((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }\n        }\n        uVar13 = DAT_000b9dd4;\n        uVar11 = local_d4 + uVar8;\n        lVar4 = lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8;\n        if ((uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4)) {\n          local_f4 = pcVar15 + uVar11 + local_ec;\n        }\n        else {\n          if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);\n          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);\n          if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + local_d4 + local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }\n        }\nLAB_00056ae6:\n        local_a4 = local_a4 + 1;\n      } while (local_f4 < pcVar25);\n      if (param_4 != 0) goto LAB_00057752;\n    }\n    if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0))\n    goto LAB_00056b59;\n  }" { (if_statement "if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0)) {\n      local_90 = 0;\n    }\n    else {\nLAB_00056b86:\n      local_90 = 0;\n      pcVar18 = pcVar15;\n      if (pcVar25 <= pcVar15) {\nLAB_00057e2b:\n        uVar10 = *(undefined4 *)(param_1 + 8);\n        uVar14 = dcgettext(0,"No comp units in %s section ?\n",5);\n        error(uVar14,uVar10);\n        return 0;\n      }\n      do {\n        pcVar17 = pcVar18 + 4;\n        if (pcVar25 <= pcVar17) {\n          iVar7 = (int)pcVar25 - (int)pcVar18;\n          if (iVar7 - 1U < 8) goto LAB_000570ed;\nLAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);\n          uVar14 = FUN_0004cb50(0);\n          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);\n          warn(uVar20,uVar14,uVar10);\n          return 0;\n        }\n        iVar7 = 4;\nLAB_000570ed:\n        lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n        if (lVar28 == 0xffffffff) {\n          if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;\n          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);\n          pcVar18 = pcVar18 + iVar7 + 0xc;\n          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;\n        }\n        else {\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }\n        if (bVar21) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      } while (pcVar18 < pcVar25);\n      if (local_90 == 0) goto LAB_00057e2b;\n      if (0x3333332 < local_90) {\n        DAT_000b9d64 = (void *)0x0;\n        uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(uVar10,local_90);\n        DAT_000b9d68 = 0;\n        DAT_000b9d6c = 0;\n        return 0;\n      }\n      DAT_000b9d64 = (void *)FUN_0006b190(local_90 * 0x50);\n      memset(DAT_000b9d64,0,local_90 * 0x50);\n      DAT_000b9d68 = local_90;\n      if (param_4 != 0) {\n        FUN_0004e130();\n        if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n        param_5 = 0;\n        goto LAB_0005662b;\n      }\n    }" if (parenthesized_expression "((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0))" ( (binary_expression "(DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0)" (parenthesized_expression "(DAT_000b9d90 == 0 && DAT_000b9db4 == 0)" ( (binary_expression "DAT_000b9d90 == 0 && DAT_000b9db4 == 0" (binary_expression "DAT_000b9d90 == 0" identifier == number_literal) && (binary_expression "DAT_000b9db4 == 0" identifier == number_literal)) )) || (parenthesized_expression "(param_5 != 0 || DAT_000b9d6c != 0)" ( (binary_expression "param_5 != 0 || DAT_000b9d6c != 0" (binary_expression "param_5 != 0" identifier != number_literal) || (binary_expression "DAT_000b9d6c != 0" identifier != number_literal)) ))) )) (compound_statement "{\n      local_90 = 0;\n    }" { (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) }) (else_clause "else {\nLAB_00056b86:\n      local_90 = 0;\n      pcVar18 = pcVar15;\n      if (pcVar25 <= pcVar15) {\nLAB_00057e2b:\n        uVar10 = *(undefined4 *)(param_1 + 8);\n        uVar14 = dcgettext(0,"No comp units in %s section ?\n",5);\n        error(uVar14,uVar10);\n        return 0;\n      }\n      do {\n        pcVar17 = pcVar18 + 4;\n        if (pcVar25 <= pcVar17) {\n          iVar7 = (int)pcVar25 - (int)pcVar18;\n          if (iVar7 - 1U < 8) goto LAB_000570ed;\nLAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);\n          uVar14 = FUN_0004cb50(0);\n          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);\n          warn(uVar20,uVar14,uVar10);\n          return 0;\n        }\n        iVar7 = 4;\nLAB_000570ed:\n        lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n        if (lVar28 == 0xffffffff) {\n          if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;\n          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);\n          pcVar18 = pcVar18 + iVar7 + 0xc;\n          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;\n        }\n        else {\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }\n        if (bVar21) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      } while (pcVar18 < pcVar25);\n      if (local_90 == 0) goto LAB_00057e2b;\n      if (0x3333332 < local_90) {\n        DAT_000b9d64 = (void *)0x0;\n        uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(uVar10,local_90);\n        DAT_000b9d68 = 0;\n        DAT_000b9d6c = 0;\n        return 0;\n      }\n      DAT_000b9d64 = (void *)FUN_0006b190(local_90 * 0x50);\n      memset(DAT_000b9d64,0,local_90 * 0x50);\n      DAT_000b9d68 = local_90;\n      if (param_4 != 0) {\n        FUN_0004e130();\n        if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n        param_5 = 0;\n        goto LAB_0005662b;\n      }\n    }" else (compound_statement "{\nLAB_00056b86:\n      local_90 = 0;\n      pcVar18 = pcVar15;\n      if (pcVar25 <= pcVar15) {\nLAB_00057e2b:\n        uVar10 = *(undefined4 *)(param_1 + 8);\n        uVar14 = dcgettext(0,"No comp units in %s section ?\n",5);\n        error(uVar14,uVar10);\n        return 0;\n      }\n      do {\n        pcVar17 = pcVar18 + 4;\n        if (pcVar25 <= pcVar17) {\n          iVar7 = (int)pcVar25 - (int)pcVar18;\n          if (iVar7 - 1U < 8) goto LAB_000570ed;\nLAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);\n          uVar14 = FUN_0004cb50(0);\n          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);\n          warn(uVar20,uVar14,uVar10);\n          return 0;\n        }\n        iVar7 = 4;\nLAB_000570ed:\n        lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n        if (lVar28 == 0xffffffff) {\n          if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;\n          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);\n          pcVar18 = pcVar18 + iVar7 + 0xc;\n          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;\n        }\n        else {\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }\n        if (bVar21) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      } while (pcVar18 < pcVar25);\n      if (local_90 == 0) goto LAB_00057e2b;\n      if (0x3333332 < local_90) {\n        DAT_000b9d64 = (void *)0x0;\n        uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(uVar10,local_90);\n        DAT_000b9d68 = 0;\n        DAT_000b9d6c = 0;\n        return 0;\n      }\n      DAT_000b9d64 = (void *)FUN_0006b190(local_90 * 0x50);\n      memset(DAT_000b9d64,0,local_90 * 0x50);\n      DAT_000b9d68 = local_90;\n      if (param_4 != 0) {\n        FUN_0004e130();\n        if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n        param_5 = 0;\n        goto LAB_0005662b;\n      }\n    }" { (labeled_statement "LAB_00056b86:\n      local_90 = 0;" statement_identifier : (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;)) (expression_statement "pcVar18 = pcVar15;" (assignment_expression "pcVar18 = pcVar15" identifier = identifier) ;) (if_statement "if (pcVar25 <= pcVar15) {\nLAB_00057e2b:\n        uVar10 = *(undefined4 *)(param_1 + 8);\n        uVar14 = dcgettext(0,"No comp units in %s section ?\n",5);\n        error(uVar14,uVar10);\n        return 0;\n      }" if (parenthesized_expression "(pcVar25 <= pcVar15)" ( (binary_expression "pcVar25 <= pcVar15" identifier <= identifier) )) (compound_statement "{\nLAB_00057e2b:\n        uVar10 = *(undefined4 *)(param_1 + 8);\n        uVar14 = dcgettext(0,"No comp units in %s section ?\n",5);\n        error(uVar14,uVar10);\n        return 0;\n      }" { (labeled_statement "LAB_00057e2b:\n        uVar10 = *(undefined4 *)(param_1 + 8);" statement_identifier : (expression_statement "uVar10 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar10 = *(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 "uVar14 = dcgettext(0,"No comp units in %s section ?\n",5);" (assignment_expression "uVar14 = dcgettext(0,"No comp units in %s section ?\n",5)" identifier = (call_expression "dcgettext(0,"No comp units in %s section ?\n",5)" identifier (argument_list "(0,"No comp units in %s section ?\n",5)" ( number_literal , (string_literal ""No comp units in %s section ?\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "error(uVar14,uVar10);" (call_expression "error(uVar14,uVar10)" identifier (argument_list "(uVar14,uVar10)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (do_statement "do {\n        pcVar17 = pcVar18 + 4;\n        if (pcVar25 <= pcVar17) {\n          iVar7 = (int)pcVar25 - (int)pcVar18;\n          if (iVar7 - 1U < 8) goto LAB_000570ed;\nLAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);\n          uVar14 = FUN_0004cb50(0);\n          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);\n          warn(uVar20,uVar14,uVar10);\n          return 0;\n        }\n        iVar7 = 4;\nLAB_000570ed:\n        lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n        if (lVar28 == 0xffffffff) {\n          if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;\n          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);\n          pcVar18 = pcVar18 + iVar7 + 0xc;\n          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;\n        }\n        else {\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }\n        if (bVar21) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      } while (pcVar18 < pcVar25);" do (compound_statement "{\n        pcVar17 = pcVar18 + 4;\n        if (pcVar25 <= pcVar17) {\n          iVar7 = (int)pcVar25 - (int)pcVar18;\n          if (iVar7 - 1U < 8) goto LAB_000570ed;\nLAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);\n          uVar14 = FUN_0004cb50(0);\n          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);\n          warn(uVar20,uVar14,uVar10);\n          return 0;\n        }\n        iVar7 = 4;\nLAB_000570ed:\n        lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n        if (lVar28 == 0xffffffff) {\n          if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;\n          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);\n          pcVar18 = pcVar18 + iVar7 + 0xc;\n          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;\n        }\n        else {\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }\n        if (bVar21) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      }" { (expression_statement "pcVar17 = pcVar18 + 4;" (assignment_expression "pcVar17 = pcVar18 + 4" identifier = (binary_expression "pcVar18 + 4" identifier + number_literal)) ;) (if_statement "if (pcVar25 <= pcVar17) {\n          iVar7 = (int)pcVar25 - (int)pcVar18;\n          if (iVar7 - 1U < 8) goto LAB_000570ed;\nLAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);\n          uVar14 = FUN_0004cb50(0);\n          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);\n          warn(uVar20,uVar14,uVar10);\n          return 0;\n        }" if (parenthesized_expression "(pcVar25 <= pcVar17)" ( (binary_expression "pcVar25 <= pcVar17" identifier <= identifier) )) (compound_statement "{\n          iVar7 = (int)pcVar25 - (int)pcVar18;\n          if (iVar7 - 1U < 8) goto LAB_000570ed;\nLAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);\n          uVar14 = FUN_0004cb50(0);\n          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);\n          warn(uVar20,uVar14,uVar10);\n          return 0;\n        }" { (expression_statement "iVar7 = (int)pcVar25 - (int)pcVar18;" (assignment_expression "iVar7 = (int)pcVar25 - (int)pcVar18" identifier = (binary_expression "(int)pcVar25 - (int)pcVar18" (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar18" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (iVar7 - 1U < 8) goto LAB_000570ed;" if (parenthesized_expression "(iVar7 - 1U < 8)" ( (binary_expression "iVar7 - 1U < 8" (binary_expression "iVar7 - 1U" identifier - number_literal) < number_literal) )) (goto_statement "goto LAB_000570ed;" goto statement_identifier ;)) (labeled_statement "LAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);" statement_identifier : (expression_statement "uVar10 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar10 = *(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 "uVar14 = FUN_0004cb50(0);" (assignment_expression "uVar14 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";" (assignment_expression "pcVar15 = "Corrupt unit length (0x%s) found in section %s\n"" identifier = (string_literal ""Corrupt unit length (0x%s) found in section %s\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);" statement_identifier : (expression_statement "uVar20 = dcgettext(0,pcVar15,5);" (assignment_expression "uVar20 = dcgettext(0,pcVar15,5)" identifier = (call_expression "dcgettext(0,pcVar15,5)" identifier (argument_list "(0,pcVar15,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "warn(uVar20,uVar14,uVar10);" (call_expression "warn(uVar20,uVar14,uVar10)" identifier (argument_list "(uVar20,uVar14,uVar10)" ( identifier , identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar7 = 4;" (assignment_expression "iVar7 = 4" identifier = number_literal) ;) (labeled_statement "LAB_000570ed:\n        lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);" statement_identifier : (expression_statement "lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);" (assignment_expression "lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7)" identifier = (call_expression "(*DAT_000b9dd8)(pcVar18,iVar7)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(pcVar18,iVar7)" ( identifier , identifier )))) ;)) (if_statement "if (lVar28 == 0xffffffff) {\n          if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;\n          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);\n          pcVar18 = pcVar18 + iVar7 + 0xc;\n          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;\n        }\n        else {\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }" if (parenthesized_expression "(lVar28 == 0xffffffff)" ( (binary_expression "lVar28 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n          if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;\n          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);\n          pcVar18 = pcVar18 + iVar7 + 0xc;\n          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;\n        }" { (if_statement "if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;" if (parenthesized_expression "(pcVar18 + 0xc < pcVar25)" ( (binary_expression "pcVar18 + 0xc < pcVar25" (binary_expression "pcVar18 + 0xc" identifier + number_literal) < identifier) )) (compound_statement "{\n            iVar7 = 8;\n          }" { (expression_statement "iVar7 = 8;" (assignment_expression "iVar7 = 8" identifier = number_literal) ;) }) (else_clause "else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;" else (if_statement "if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;" if (parenthesized_expression "((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))" ( (binary_expression "(pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U)" (parenthesized_expression "(pcVar25 <= pcVar17)" ( (binary_expression "pcVar25 <= pcVar17" identifier <= identifier) )) || (parenthesized_expression "(iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U)" ( (comma_expression "iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U" (assignment_expression "iVar7 = (int)pcVar25 - (int)pcVar17" identifier = (binary_expression "(int)pcVar25 - (int)pcVar17" (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar17" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "7 < iVar7 - 1U" number_literal < (binary_expression "iVar7 - 1U" identifier - number_literal))) ))) )) (goto_statement "goto LAB_00056bdf;" goto statement_identifier ;)))) (expression_statement "iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);" (assignment_expression "iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7)" identifier = (call_expression "(*DAT_000b9dd8)(pcVar17,iVar7)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(pcVar17,iVar7)" ( identifier , identifier )))) ;) (expression_statement "pcVar18 = pcVar18 + iVar7 + 0xc;" (assignment_expression "pcVar18 = pcVar18 + iVar7 + 0xc" identifier = (binary_expression "pcVar18 + iVar7 + 0xc" (binary_expression "pcVar18 + iVar7" identifier + identifier) + number_literal)) ;) (expression_statement "bVar21 = pcVar18 < pcVar15 || iVar7 < 1;" (assignment_expression "bVar21 = pcVar18 < pcVar15 || iVar7 < 1" identifier = (binary_expression "pcVar18 < pcVar15 || iVar7 < 1" (binary_expression "pcVar18 < pcVar15" identifier < identifier) || (binary_expression "iVar7 < 1" identifier < number_literal))) ;) }) (else_clause "else {\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }" else (compound_statement "{\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }" { (expression_statement "iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);" (assignment_expression "iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20)" identifier = (cast_expression "(int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(lVar28 + -0xfffffff0) >> 0x20)" ( (binary_expression "(ulonglong)(lVar28 + -0xfffffff0) >> 0x20" (call_expression "(ulonglong)(lVar28 + -0xfffffff0)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(lVar28 + -0xfffffff0)" ( (binary_expression "lVar28 + -0xfffffff0" identifier + number_literal) ))) >> number_literal) )))) ;) (if_statement "if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }" if (parenthesized_expression "(iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7)" ( (binary_expression "iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7" (binary_expression "iVar7 == 0" identifier == number_literal) && (binary_expression "(uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7" (call_expression "(uint)(0xe < (uint)(lVar28 + -0xfffffff0))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xe < (uint)(lVar28 + -0xfffffff0))" ( (binary_expression "0xe < (uint)(lVar28 + -0xfffffff0)" number_literal < (call_expression "(uint)(lVar28 + -0xfffffff0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(lVar28 + -0xfffffff0)" ( (binary_expression "lVar28 + -0xfffffff0" identifier + number_literal) )))) ))) <= (binary_expression "(uint)-iVar7" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) (compound_statement "{\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }" { (expression_statement "uVar10 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar10 = *(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 "uVar14 = FUN_0004cb50(0);" (assignment_expression "uVar14 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "pcVar15 = "Reserved length value (0x%s) found in section %s\n";" (assignment_expression "pcVar15 = "Reserved length value (0x%s) found in section %s\n"" identifier = (string_literal ""Reserved length value (0x%s) found in section %s\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00056c0d;" goto statement_identifier ;) })) (expression_statement "pcVar18 = pcVar18 + (int)lVar28 + 4;" (assignment_expression "pcVar18 = pcVar18 + (int)lVar28 + 4" identifier = (binary_expression "pcVar18 + (int)lVar28 + 4" (binary_expression "pcVar18 + (int)lVar28" identifier + (cast_expression "(int)lVar28" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal)) ;) (expression_statement "bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;" (assignment_expression "bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15" identifier = (binary_expression "(int)lVar28 < 1 || pcVar18 < pcVar15" (binary_expression "(int)lVar28 < 1" (cast_expression "(int)lVar28" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) || (binary_expression "pcVar18 < pcVar15" identifier < identifier))) ;) }))) (if_statement "if (bVar21) goto LAB_00056bdf;" if (parenthesized_expression "(bVar21)" ( identifier )) (goto_statement "goto LAB_00056bdf;" goto statement_identifier ;)) (expression_statement "local_90 = local_90 + 1;" (assignment_expression "local_90 = local_90 + 1" identifier = (binary_expression "local_90 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pcVar18 < pcVar25)" ( (binary_expression "pcVar18 < pcVar25" identifier < identifier) )) ;) (if_statement "if (local_90 == 0) goto LAB_00057e2b;" if (parenthesized_expression "(local_90 == 0)" ( (binary_expression "local_90 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00057e2b;" goto statement_identifier ;)) (if_statement "if (0x3333332 < local_90) {\n        DAT_000b9d64 = (void *)0x0;\n        uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(uVar10,local_90);\n        DAT_000b9d68 = 0;\n        DAT_000b9d6c = 0;\n        return 0;\n      }" if (parenthesized_expression "(0x3333332 < local_90)" ( (binary_expression "0x3333332 < local_90" number_literal < identifier) )) (compound_statement "{\n        DAT_000b9d64 = (void *)0x0;\n        uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(uVar10,local_90);\n        DAT_000b9d68 = 0;\n        DAT_000b9d6c = 0;\n        return 0;\n      }" { (expression_statement "DAT_000b9d64 = (void *)0x0;" (assignment_expression "DAT_000b9d64 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);" (assignment_expression "uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5)" identifier = (call_expression "dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5)" identifier (argument_list "(0,"Not enough memory for a debug info array of %u entries\n",5)" ( number_literal , (string_literal ""Not enough memory for a debug info array of %u entries\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "error(uVar10,local_90);" (call_expression "error(uVar10,local_90)" identifier (argument_list "(uVar10,local_90)" ( identifier , identifier ))) ;) (expression_statement "DAT_000b9d68 = 0;" (assignment_expression "DAT_000b9d68 = 0" identifier = number_literal) ;) (expression_statement "DAT_000b9d6c = 0;" (assignment_expression "DAT_000b9d6c = 0" identifier = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "DAT_000b9d64 = (void *)FUN_0006b190(local_90 * 0x50);" (assignment_expression "DAT_000b9d64 = (void *)FUN_0006b190(local_90 * 0x50)" identifier = (cast_expression "(void *)FUN_0006b190(local_90 * 0x50)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0006b190(local_90 * 0x50)" identifier (argument_list "(local_90 * 0x50)" ( (binary_expression "local_90 * 0x50" identifier * number_literal) ))))) ;) (expression_statement "memset(DAT_000b9d64,0,local_90 * 0x50);" (call_expression "memset(DAT_000b9d64,0,local_90 * 0x50)" identifier (argument_list "(DAT_000b9d64,0,local_90 * 0x50)" ( identifier , number_literal , (binary_expression "local_90 * 0x50" identifier * number_literal) ))) ;) (expression_statement "DAT_000b9d68 = local_90;" (assignment_expression "DAT_000b9d68 = local_90" identifier = identifier) ;) (if_statement "if (param_4 != 0) {\n        FUN_0004e130();\n        if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n        param_5 = 0;\n        goto LAB_0005662b;\n      }" if (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) )) (compound_statement "{\n        FUN_0004e130();\n        if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n        param_5 = 0;\n        goto LAB_0005662b;\n      }" { (expression_statement "FUN_0004e130();" (call_expression "FUN_0004e130()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;" if (parenthesized_expression "(*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0)" ( (binary_expression "*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0" (pointer_expression "*(int *)(&DAT_000b4850 + param_3 * 0x40)" * (cast_expression "(int *)(&DAT_000b4850 + param_3 * 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_000b4850 + param_3 * 0x40)" ( (binary_expression "&DAT_000b4850 + param_3 * 0x40" (pointer_expression "&DAT_000b4850" & identifier) + (binary_expression "param_3 * 0x40" identifier * number_literal)) )))) == number_literal) )) (goto_statement "goto LAB_00057bf6;" goto statement_identifier ;)) (expression_statement "param_5 = 0;" (assignment_expression "param_5 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0005662b;" goto statement_identifier ;) })) }))) (expression_statement "FUN_0004e130();" (call_expression "FUN_0004e130()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0004e130();" (call_expression "FUN_0004e130()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0004e130();" (call_expression "FUN_0004e130()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0004e130();" (call_expression "FUN_0004e130()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0004e130();" (call_expression "FUN_0004e130()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0004e130();" (call_expression "FUN_0004e130()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0004e130();" (call_expression "FUN_0004e130()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) {\nLAB_00057bf6:\n      puVar3 = (&PTR_s__debug_abbrev_000b4840)[param_3 * 0x10];\n      uVar10 = dcgettext(0,"Unable to locate %s section!\n",5);\n      warn(uVar10,puVar3);\n      return 0;\n    }" if (parenthesized_expression "(*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0)" ( (binary_expression "*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0" (pointer_expression "*(int *)(&DAT_000b4850 + param_3 * 0x40)" * (cast_expression "(int *)(&DAT_000b4850 + param_3 * 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_000b4850 + param_3 * 0x40)" ( (binary_expression "&DAT_000b4850 + param_3 * 0x40" (pointer_expression "&DAT_000b4850" & identifier) + (binary_expression "param_3 * 0x40" identifier * number_literal)) )))) == number_literal) )) (compound_statement "{\nLAB_00057bf6:\n      puVar3 = (&PTR_s__debug_abbrev_000b4840)[param_3 * 0x10];\n      uVar10 = dcgettext(0,"Unable to locate %s section!\n",5);\n      warn(uVar10,puVar3);\n      return 0;\n    }" { (labeled_statement "LAB_00057bf6:\n      puVar3 = (&PTR_s__debug_abbrev_000b4840)[param_3 * 0x10];" statement_identifier : (expression_statement "puVar3 = (&PTR_s__debug_abbrev_000b4840)[param_3 * 0x10];" (assignment_expression "puVar3 = (&PTR_s__debug_abbrev_000b4840)[param_3 * 0x10]" identifier = (subscript_expression "(&PTR_s__debug_abbrev_000b4840)[param_3 * 0x10]" (parenthesized_expression "(&PTR_s__debug_abbrev_000b4840)" ( (pointer_expression "&PTR_s__debug_abbrev_000b4840" & identifier) )) [ (binary_expression "param_3 * 0x10" identifier * number_literal) ])) ;)) (expression_statement "uVar10 = dcgettext(0,"Unable to locate %s section!\n",5);" (assignment_expression "uVar10 = dcgettext(0,"Unable to locate %s section!\n",5)" identifier = (call_expression "dcgettext(0,"Unable to locate %s section!\n",5)" identifier (argument_list "(0,"Unable to locate %s section!\n",5)" ( number_literal , (string_literal ""Unable to locate %s section!\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar10,puVar3);" (call_expression "warn(uVar10,puVar3)" identifier (argument_list "(uVar10,puVar3)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (DAT_000b9dd4 == 0) {\n      FUN_0004eb80();\n    }" if (parenthesized_expression "(DAT_000b9dd4 == 0)" ( (binary_expression "DAT_000b9dd4 == 0" identifier == number_literal) )) (compound_statement "{\n      FUN_0004eb80();\n    }" { (expression_statement "FUN_0004eb80();" (call_expression "FUN_0004eb80()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (pcVar15 < pcVar25) {\nLAB_0005662b:\n      local_a4 = 0;\n      local_f4 = pcVar15;\n      do {\n        local_6c = 0;\n        local_68 = 0;\n        local_64 = 0;\n        pcVar18 = local_f4 + 4;\n        local_60 = 0;\n        pcVar17 = pcVar18;\n        if (pcVar18 < pcVar25) {\n          iVar7 = 4;\nLAB_00056d25:\n          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);\n          if (lVar28 == 0xffffffff) {\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }\n          else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;\nLAB_000566e9:\n          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);\n        }\n        else {\n          iVar7 = (int)pcVar25 - (int)local_f4;\n          if (iVar7 - 1U < 8) goto LAB_00056d25;\n          local_cc = 4;\n          pcVar16 = local_f4 + 6;\n          local_d4 = 4;\n          local_f0 = 4;\njoined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }\n          lVar28 = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }\n        local_ec = (int)lVar28;\n        uVar8 = (int)local_f4 - (int)pcVar15;\n        uVar9 = (int)uVar8 >> 0x1f;\n        if (param_5 == 0) {\n          iVar22 = 1;\n          iVar7 = DAT_000b9d34;\n          iVar26 = DAT_000b9d2c;\n        }\n        else {\n          iVar22 = 2;\n          iVar7 = DAT_000b9d30;\n          iVar26 = DAT_000b9d28;\n        }\n        for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;\n          iVar26 = iVar26 + 0x68;\n        }\n        iVar26 = 0;\njoined_r0x0005676e:\n        uVar13 = local_f0;\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar6 = 0xff;\njoined_r0x000567df:\n          pcVar18 = pcVar16 + local_f0;\n          if ((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))\n          goto LAB_00056caa;\nLAB_000567f7:\n          uVar27 = 0;\n          uVar5 = 0;\n          if (iVar26 != 0) goto LAB_0005680f;\nLAB_00056cce:\n          uVar27 = uVar5;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n        }\n        else {\n          pcVar18 = pcVar17 + 3;\n          if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }\n          pcVar16 = pcVar17 + 4;\n          bVar6 = 0;\n          pcVar18 = pcVar16 + local_f0;\n          if (pcVar25 <= pcVar18) goto LAB_000567f7;\nLAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);\n          uVar5 = uVar27;\n          if (iVar26 == 0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);\n          local_98 = *(int *)(iVar26 + 0x24);\n          local_ac = *(uint *)(iVar26 + 0x54);\n        }\n        local_a0 = (uint)((ulonglong)uVar27 >> 0x20);\n        local_b0 = (uint)uVar27;\n        pcVar17 = pcVar18;\n        if (local_e2 < 5) {\n          pcVar17 = pcVar18 + 1;\n          if (pcVar17 < pcVar25) {\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }\n          if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))\n          goto LAB_00056c35;\n          bVar6 = 0;\nLAB_00056853:\n          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;\n          warn(uVar10,bVar6,local_f0);\n          bVar6 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;\n        }\n        if (param_5 != 0) {\n          pcVar18 = pcVar17 + 8;\n          if (pcVar25 < pcVar18) {\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }\n          else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }\n          pcVar17 = pcVar18 + local_f0;\n          uVar13 = local_f0;\n          if ((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }\n        }\n        uVar13 = DAT_000b9dd4;\n        uVar11 = local_d4 + uVar8;\n        lVar4 = lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8;\n        if ((uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4)) {\n          local_f4 = pcVar15 + uVar11 + local_ec;\n        }\n        else {\n          if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);\n          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);\n          if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + local_d4 + local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }\n        }\nLAB_00056ae6:\n        local_a4 = local_a4 + 1;\n      } while (local_f4 < pcVar25);\n      if (param_4 != 0) goto LAB_00057752;\n    }" if (parenthesized_expression "(pcVar15 < pcVar25)" ( (binary_expression "pcVar15 < pcVar25" identifier < identifier) )) (compound_statement "{\nLAB_0005662b:\n      local_a4 = 0;\n      local_f4 = pcVar15;\n      do {\n        local_6c = 0;\n        local_68 = 0;\n        local_64 = 0;\n        pcVar18 = local_f4 + 4;\n        local_60 = 0;\n        pcVar17 = pcVar18;\n        if (pcVar18 < pcVar25) {\n          iVar7 = 4;\nLAB_00056d25:\n          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);\n          if (lVar28 == 0xffffffff) {\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }\n          else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;\nLAB_000566e9:\n          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);\n        }\n        else {\n          iVar7 = (int)pcVar25 - (int)local_f4;\n          if (iVar7 - 1U < 8) goto LAB_00056d25;\n          local_cc = 4;\n          pcVar16 = local_f4 + 6;\n          local_d4 = 4;\n          local_f0 = 4;\njoined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }\n          lVar28 = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }\n        local_ec = (int)lVar28;\n        uVar8 = (int)local_f4 - (int)pcVar15;\n        uVar9 = (int)uVar8 >> 0x1f;\n        if (param_5 == 0) {\n          iVar22 = 1;\n          iVar7 = DAT_000b9d34;\n          iVar26 = DAT_000b9d2c;\n        }\n        else {\n          iVar22 = 2;\n          iVar7 = DAT_000b9d30;\n          iVar26 = DAT_000b9d28;\n        }\n        for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;\n          iVar26 = iVar26 + 0x68;\n        }\n        iVar26 = 0;\njoined_r0x0005676e:\n        uVar13 = local_f0;\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar6 = 0xff;\njoined_r0x000567df:\n          pcVar18 = pcVar16 + local_f0;\n          if ((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))\n          goto LAB_00056caa;\nLAB_000567f7:\n          uVar27 = 0;\n          uVar5 = 0;\n          if (iVar26 != 0) goto LAB_0005680f;\nLAB_00056cce:\n          uVar27 = uVar5;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n        }\n        else {\n          pcVar18 = pcVar17 + 3;\n          if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }\n          pcVar16 = pcVar17 + 4;\n          bVar6 = 0;\n          pcVar18 = pcVar16 + local_f0;\n          if (pcVar25 <= pcVar18) goto LAB_000567f7;\nLAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);\n          uVar5 = uVar27;\n          if (iVar26 == 0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);\n          local_98 = *(int *)(iVar26 + 0x24);\n          local_ac = *(uint *)(iVar26 + 0x54);\n        }\n        local_a0 = (uint)((ulonglong)uVar27 >> 0x20);\n        local_b0 = (uint)uVar27;\n        pcVar17 = pcVar18;\n        if (local_e2 < 5) {\n          pcVar17 = pcVar18 + 1;\n          if (pcVar17 < pcVar25) {\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }\n          if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))\n          goto LAB_00056c35;\n          bVar6 = 0;\nLAB_00056853:\n          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;\n          warn(uVar10,bVar6,local_f0);\n          bVar6 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;\n        }\n        if (param_5 != 0) {\n          pcVar18 = pcVar17 + 8;\n          if (pcVar25 < pcVar18) {\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }\n          else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }\n          pcVar17 = pcVar18 + local_f0;\n          uVar13 = local_f0;\n          if ((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }\n        }\n        uVar13 = DAT_000b9dd4;\n        uVar11 = local_d4 + uVar8;\n        lVar4 = lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8;\n        if ((uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4)) {\n          local_f4 = pcVar15 + uVar11 + local_ec;\n        }\n        else {\n          if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);\n          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);\n          if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + local_d4 + local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }\n        }\nLAB_00056ae6:\n        local_a4 = local_a4 + 1;\n      } while (local_f4 < pcVar25);\n      if (param_4 != 0) goto LAB_00057752;\n    }" { (labeled_statement "LAB_0005662b:\n      local_a4 = 0;" statement_identifier : (expression_statement "local_a4 = 0;" (assignment_expression "local_a4 = 0" identifier = number_literal) ;)) (expression_statement "local_f4 = pcVar15;" (assignment_expression "local_f4 = pcVar15" identifier = identifier) ;) (do_statement "do {\n        local_6c = 0;\n        local_68 = 0;\n        local_64 = 0;\n        pcVar18 = local_f4 + 4;\n        local_60 = 0;\n        pcVar17 = pcVar18;\n        if (pcVar18 < pcVar25) {\n          iVar7 = 4;\nLAB_00056d25:\n          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);\n          if (lVar28 == 0xffffffff) {\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }\n          else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;\nLAB_000566e9:\n          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);\n        }\n        else {\n          iVar7 = (int)pcVar25 - (int)local_f4;\n          if (iVar7 - 1U < 8) goto LAB_00056d25;\n          local_cc = 4;\n          pcVar16 = local_f4 + 6;\n          local_d4 = 4;\n          local_f0 = 4;\njoined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }\n          lVar28 = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }\n        local_ec = (int)lVar28;\n        uVar8 = (int)local_f4 - (int)pcVar15;\n        uVar9 = (int)uVar8 >> 0x1f;\n        if (param_5 == 0) {\n          iVar22 = 1;\n          iVar7 = DAT_000b9d34;\n          iVar26 = DAT_000b9d2c;\n        }\n        else {\n          iVar22 = 2;\n          iVar7 = DAT_000b9d30;\n          iVar26 = DAT_000b9d28;\n        }\n        for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;\n          iVar26 = iVar26 + 0x68;\n        }\n        iVar26 = 0;\njoined_r0x0005676e:\n        uVar13 = local_f0;\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar6 = 0xff;\njoined_r0x000567df:\n          pcVar18 = pcVar16 + local_f0;\n          if ((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))\n          goto LAB_00056caa;\nLAB_000567f7:\n          uVar27 = 0;\n          uVar5 = 0;\n          if (iVar26 != 0) goto LAB_0005680f;\nLAB_00056cce:\n          uVar27 = uVar5;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n        }\n        else {\n          pcVar18 = pcVar17 + 3;\n          if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }\n          pcVar16 = pcVar17 + 4;\n          bVar6 = 0;\n          pcVar18 = pcVar16 + local_f0;\n          if (pcVar25 <= pcVar18) goto LAB_000567f7;\nLAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);\n          uVar5 = uVar27;\n          if (iVar26 == 0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);\n          local_98 = *(int *)(iVar26 + 0x24);\n          local_ac = *(uint *)(iVar26 + 0x54);\n        }\n        local_a0 = (uint)((ulonglong)uVar27 >> 0x20);\n        local_b0 = (uint)uVar27;\n        pcVar17 = pcVar18;\n        if (local_e2 < 5) {\n          pcVar17 = pcVar18 + 1;\n          if (pcVar17 < pcVar25) {\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }\n          if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))\n          goto LAB_00056c35;\n          bVar6 = 0;\nLAB_00056853:\n          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;\n          warn(uVar10,bVar6,local_f0);\n          bVar6 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;\n        }\n        if (param_5 != 0) {\n          pcVar18 = pcVar17 + 8;\n          if (pcVar25 < pcVar18) {\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }\n          else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }\n          pcVar17 = pcVar18 + local_f0;\n          uVar13 = local_f0;\n          if ((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }\n        }\n        uVar13 = DAT_000b9dd4;\n        uVar11 = local_d4 + uVar8;\n        lVar4 = lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8;\n        if ((uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4)) {\n          local_f4 = pcVar15 + uVar11 + local_ec;\n        }\n        else {\n          if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);\n          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);\n          if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + local_d4 + local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }\n        }\nLAB_00056ae6:\n        local_a4 = local_a4 + 1;\n      } while (local_f4 < pcVar25);" do (compound_statement "{\n        local_6c = 0;\n        local_68 = 0;\n        local_64 = 0;\n        pcVar18 = local_f4 + 4;\n        local_60 = 0;\n        pcVar17 = pcVar18;\n        if (pcVar18 < pcVar25) {\n          iVar7 = 4;\nLAB_00056d25:\n          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);\n          if (lVar28 == 0xffffffff) {\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }\n          else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;\nLAB_000566e9:\n          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);\n        }\n        else {\n          iVar7 = (int)pcVar25 - (int)local_f4;\n          if (iVar7 - 1U < 8) goto LAB_00056d25;\n          local_cc = 4;\n          pcVar16 = local_f4 + 6;\n          local_d4 = 4;\n          local_f0 = 4;\njoined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }\n          lVar28 = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }\n        local_ec = (int)lVar28;\n        uVar8 = (int)local_f4 - (int)pcVar15;\n        uVar9 = (int)uVar8 >> 0x1f;\n        if (param_5 == 0) {\n          iVar22 = 1;\n          iVar7 = DAT_000b9d34;\n          iVar26 = DAT_000b9d2c;\n        }\n        else {\n          iVar22 = 2;\n          iVar7 = DAT_000b9d30;\n          iVar26 = DAT_000b9d28;\n        }\n        for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;\n          iVar26 = iVar26 + 0x68;\n        }\n        iVar26 = 0;\njoined_r0x0005676e:\n        uVar13 = local_f0;\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar6 = 0xff;\njoined_r0x000567df:\n          pcVar18 = pcVar16 + local_f0;\n          if ((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))\n          goto LAB_00056caa;\nLAB_000567f7:\n          uVar27 = 0;\n          uVar5 = 0;\n          if (iVar26 != 0) goto LAB_0005680f;\nLAB_00056cce:\n          uVar27 = uVar5;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n        }\n        else {\n          pcVar18 = pcVar17 + 3;\n          if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }\n          pcVar16 = pcVar17 + 4;\n          bVar6 = 0;\n          pcVar18 = pcVar16 + local_f0;\n          if (pcVar25 <= pcVar18) goto LAB_000567f7;\nLAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);\n          uVar5 = uVar27;\n          if (iVar26 == 0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);\n          local_98 = *(int *)(iVar26 + 0x24);\n          local_ac = *(uint *)(iVar26 + 0x54);\n        }\n        local_a0 = (uint)((ulonglong)uVar27 >> 0x20);\n        local_b0 = (uint)uVar27;\n        pcVar17 = pcVar18;\n        if (local_e2 < 5) {\n          pcVar17 = pcVar18 + 1;\n          if (pcVar17 < pcVar25) {\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }\n          if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))\n          goto LAB_00056c35;\n          bVar6 = 0;\nLAB_00056853:\n          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;\n          warn(uVar10,bVar6,local_f0);\n          bVar6 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;\n        }\n        if (param_5 != 0) {\n          pcVar18 = pcVar17 + 8;\n          if (pcVar25 < pcVar18) {\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }\n          else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }\n          pcVar17 = pcVar18 + local_f0;\n          uVar13 = local_f0;\n          if ((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }\n        }\n        uVar13 = DAT_000b9dd4;\n        uVar11 = local_d4 + uVar8;\n        lVar4 = lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8;\n        if ((uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4)) {\n          local_f4 = pcVar15 + uVar11 + local_ec;\n        }\n        else {\n          if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);\n          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);\n          if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + local_d4 + local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }\n        }\nLAB_00056ae6:\n        local_a4 = local_a4 + 1;\n      }" { (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) (expression_statement "pcVar18 = local_f4 + 4;" (assignment_expression "pcVar18 = local_f4 + 4" identifier = (binary_expression "local_f4 + 4" identifier + number_literal)) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "pcVar17 = pcVar18;" (assignment_expression "pcVar17 = pcVar18" identifier = identifier) ;) (if_statement "if (pcVar18 < pcVar25) {\n          iVar7 = 4;\nLAB_00056d25:\n          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);\n          if (lVar28 == 0xffffffff) {\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }\n          else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;\nLAB_000566e9:\n          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);\n        }\n        else {\n          iVar7 = (int)pcVar25 - (int)local_f4;\n          if (iVar7 - 1U < 8) goto LAB_00056d25;\n          local_cc = 4;\n          pcVar16 = local_f4 + 6;\n          local_d4 = 4;\n          local_f0 = 4;\njoined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }\n          lVar28 = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }" if (parenthesized_expression "(pcVar18 < pcVar25)" ( (binary_expression "pcVar18 < pcVar25" identifier < identifier) )) (compound_statement "{\n          iVar7 = 4;\nLAB_00056d25:\n          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);\n          if (lVar28 == 0xffffffff) {\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }\n          else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;\nLAB_000566e9:\n          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);\n        }" { (expression_statement "iVar7 = 4;" (assignment_expression "iVar7 = 4" identifier = number_literal) ;) (labeled_statement "LAB_00056d25:\n          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);" statement_identifier : (expression_statement "lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);" (assignment_expression "lVar28 = (*DAT_000b9dd8)(local_f4,iVar7)" identifier = (call_expression "(*DAT_000b9dd8)(local_f4,iVar7)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(local_f4,iVar7)" ( identifier , identifier )))) ;)) (if_statement "if (lVar28 == 0xffffffff) {\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }\n          else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }" if (parenthesized_expression "(lVar28 == 0xffffffff)" ( (binary_expression "lVar28 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }" { (expression_statement "pcVar17 = local_f4 + 0xc;" (assignment_expression "pcVar17 = local_f4 + 0xc" identifier = (binary_expression "local_f4 + 0xc" identifier + number_literal)) ;) (if_statement "if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }" if (parenthesized_expression "(pcVar17 < pcVar25)" ( (binary_expression "pcVar17 < pcVar25" identifier < identifier) )) (compound_statement "{\n              iVar7 = 8;\n            }" { (expression_statement "iVar7 = 8;" (assignment_expression "iVar7 = 8" identifier = number_literal) ;) }) (else_clause "else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }" else (if_statement "if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }" if (parenthesized_expression "((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))" ( (binary_expression "(pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U)" (parenthesized_expression "(pcVar25 <= pcVar18)" ( (binary_expression "pcVar25 <= pcVar18" identifier <= identifier) )) || (parenthesized_expression "(iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U)" ( (comma_expression "iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U" (assignment_expression "iVar7 = (int)pcVar25 - (int)pcVar18" identifier = (binary_expression "(int)pcVar25 - (int)pcVar18" (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar18" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "7 < iVar7 - 1U" number_literal < (binary_expression "iVar7 - 1U" identifier - number_literal))) ))) )) (compound_statement "{\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }" { (expression_statement "local_cc = 0xc;" (assignment_expression "local_cc = 0xc" identifier = number_literal) ;) (expression_statement "pcVar16 = local_f4 + 0xe;" (assignment_expression "pcVar16 = local_f4 + 0xe" identifier = (binary_expression "local_f4 + 0xe" identifier + number_literal)) ;) (expression_statement "local_d4 = 0xc;" (assignment_expression "local_d4 = 0xc" identifier = number_literal) ;) (expression_statement "local_f0 = 8;" (assignment_expression "local_f0 = 8" identifier = number_literal) ;) (goto_statement "goto joined_r0x00056d9b;" goto statement_identifier ;) })))) (expression_statement "pcVar16 = local_f4 + 0xe;" (assignment_expression "pcVar16 = local_f4 + 0xe" identifier = (binary_expression "local_f4 + 0xe" identifier + number_literal)) ;) (expression_statement "lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);" (assignment_expression "lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7)" identifier = (call_expression "(*DAT_000b9dd8)(pcVar18,iVar7)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(pcVar18,iVar7)" ( identifier , identifier )))) ;) (expression_statement "local_cc = 0xc;" (assignment_expression "local_cc = 0xc" identifier = number_literal) ;) (expression_statement "local_d4 = 0xc;" (assignment_expression "local_d4 = 0xc" identifier = number_literal) ;) (expression_statement "local_f0 = 8;" (assignment_expression "local_f0 = 8" identifier = number_literal) ;) }) (else_clause "else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }" else (compound_statement "{\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }" { (expression_statement "pcVar16 = local_f4 + 6;" (assignment_expression "pcVar16 = local_f4 + 6" identifier = (binary_expression "local_f4 + 6" identifier + number_literal)) ;) (expression_statement "local_cc = 4;" (assignment_expression "local_cc = 4" identifier = number_literal) ;) (expression_statement "local_d4 = 4;" (assignment_expression "local_d4 = 4" identifier = number_literal) ;) (expression_statement "local_f0 = 4;" (assignment_expression "local_f0 = 4" identifier = number_literal) ;) }))) (if_statement "if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;" if (parenthesized_expression "(pcVar16 < pcVar25)" ( (binary_expression "pcVar16 < pcVar25" identifier < identifier) )) (compound_statement "{\n            iVar7 = 2;\n          }" { (expression_statement "iVar7 = 2;" (assignment_expression "iVar7 = 2" identifier = number_literal) ;) }) (else_clause "else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;" else (if_statement "if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;" if (parenthesized_expression "((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))" ( (binary_expression "(pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U)" (parenthesized_expression "(pcVar25 <= pcVar17)" ( (binary_expression "pcVar25 <= pcVar17" identifier <= identifier) )) || (parenthesized_expression "(iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U)" ( (comma_expression "iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U" (assignment_expression "iVar7 = (int)pcVar25 - (int)pcVar17" identifier = (binary_expression "(int)pcVar25 - (int)pcVar17" (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar17" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "7 < iVar7 - 1U" number_literal < (binary_expression "iVar7 - 1U" identifier - number_literal))) ))) )) (goto_statement "goto LAB_00056db1;" goto statement_identifier ;)))) (labeled_statement "LAB_000566e9:\n          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);" statement_identifier : (expression_statement "local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);" (assignment_expression "local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7)" identifier = (call_expression "(*DAT_000b9dd8)(pcVar17,iVar7)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(pcVar17,iVar7)" ( identifier , identifier )))) ;)) }) (else_clause "else {\n          iVar7 = (int)pcVar25 - (int)local_f4;\n          if (iVar7 - 1U < 8) goto LAB_00056d25;\n          local_cc = 4;\n          pcVar16 = local_f4 + 6;\n          local_d4 = 4;\n          local_f0 = 4;\njoined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }\n          lVar28 = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }" else (compound_statement "{\n          iVar7 = (int)pcVar25 - (int)local_f4;\n          if (iVar7 - 1U < 8) goto LAB_00056d25;\n          local_cc = 4;\n          pcVar16 = local_f4 + 6;\n          local_d4 = 4;\n          local_f0 = 4;\njoined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }\n          lVar28 = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }" { (expression_statement "iVar7 = (int)pcVar25 - (int)local_f4;" (assignment_expression "iVar7 = (int)pcVar25 - (int)local_f4" identifier = (binary_expression "(int)pcVar25 - (int)local_f4" (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (iVar7 - 1U < 8) goto LAB_00056d25;" if (parenthesized_expression "(iVar7 - 1U < 8)" ( (binary_expression "iVar7 - 1U < 8" (binary_expression "iVar7 - 1U" identifier - number_literal) < number_literal) )) (goto_statement "goto LAB_00056d25;" goto statement_identifier ;)) (expression_statement "local_cc = 4;" (assignment_expression "local_cc = 4" identifier = number_literal) ;) (expression_statement "pcVar16 = local_f4 + 6;" (assignment_expression "pcVar16 = local_f4 + 6" identifier = (binary_expression "local_f4 + 6" identifier + number_literal)) ;) (expression_statement "local_d4 = 4;" (assignment_expression "local_d4 = 4" identifier = number_literal) ;) (expression_statement "local_f0 = 4;" (assignment_expression "local_f0 = 4" identifier = number_literal) ;) (labeled_statement "joined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }" statement_identifier : (if_statement "if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }" if (parenthesized_expression "(pcVar16 < pcVar25)" ( (binary_expression "pcVar16 < pcVar25" identifier < identifier) )) (compound_statement "{\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }" { (expression_statement "iVar7 = 2;" (assignment_expression "iVar7 = 2" identifier = number_literal) ;) (expression_statement "lVar28 = 0;" (assignment_expression "lVar28 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000566e9;" goto statement_identifier ;) }))) (expression_statement "lVar28 = 0;" (assignment_expression "lVar28 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00056db1:\n          local_e2 = 0;" statement_identifier : (expression_statement "local_e2 = 0;" (assignment_expression "local_e2 = 0" identifier = number_literal) ;)) }))) (expression_statement "local_ec = (int)lVar28;" (assignment_expression "local_ec = (int)lVar28" identifier = (cast_expression "(int)lVar28" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar8 = (int)local_f4 - (int)pcVar15;" (assignment_expression "uVar8 = (int)local_f4 - (int)pcVar15" identifier = (binary_expression "(int)local_f4 - (int)pcVar15" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar15" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "uVar9 = (int)uVar8 >> 0x1f;" (assignment_expression "uVar9 = (int)uVar8 >> 0x1f" identifier = (binary_expression "(int)uVar8 >> 0x1f" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (if_statement "if (param_5 == 0) {\n          iVar22 = 1;\n          iVar7 = DAT_000b9d34;\n          iVar26 = DAT_000b9d2c;\n        }\n        else {\n          iVar22 = 2;\n          iVar7 = DAT_000b9d30;\n          iVar26 = DAT_000b9d28;\n        }" if (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar22 = 1;\n          iVar7 = DAT_000b9d34;\n          iVar26 = DAT_000b9d2c;\n        }" { (expression_statement "iVar22 = 1;" (assignment_expression "iVar22 = 1" identifier = number_literal) ;) (expression_statement "iVar7 = DAT_000b9d34;" (assignment_expression "iVar7 = DAT_000b9d34" identifier = identifier) ;) (expression_statement "iVar26 = DAT_000b9d2c;" (assignment_expression "iVar26 = DAT_000b9d2c" identifier = identifier) ;) }) (else_clause "else {\n          iVar22 = 2;\n          iVar7 = DAT_000b9d30;\n          iVar26 = DAT_000b9d28;\n        }" else (compound_statement "{\n          iVar22 = 2;\n          iVar7 = DAT_000b9d30;\n          iVar26 = DAT_000b9d28;\n        }" { (expression_statement "iVar22 = 2;" (assignment_expression "iVar22 = 2" identifier = number_literal) ;) (expression_statement "iVar7 = DAT_000b9d30;" (assignment_expression "iVar7 = DAT_000b9d30" identifier = identifier) ;) (expression_statement "iVar26 = DAT_000b9d28;" (assignment_expression "iVar26 = DAT_000b9d28" identifier = identifier) ;) }))) (for_statement "for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;\n          iVar26 = iVar26 + 0x68;\n        }" for ( ; (binary_expression "iVar7 != 0" identifier != number_literal) ; (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ) (compound_statement "{\n          if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;\n          iVar26 = iVar26 + 0x68;\n        }" { (if_statement "if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;" if (parenthesized_expression "(uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8))" ( (binary_expression "uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)" (binary_expression "uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8)" identifier == (pointer_expression "*(uint *)(iVar26 + 0xc + iVar22 * 8)" * (cast_expression "(uint *)(iVar26 + 0xc + iVar22 * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0xc + iVar22 * 8)" ( (binary_expression "iVar26 + 0xc + iVar22 * 8" (binary_expression "iVar26 + 0xc" identifier + number_literal) + (binary_expression "iVar22 * 8" identifier * number_literal)) ))))) && (binary_expression "uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)" identifier == (pointer_expression "*(uint *)(iVar26 + 8 + iVar22 * 8)" * (cast_expression "(uint *)(iVar26 + 8 + iVar22 * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 8 + iVar22 * 8)" ( (binary_expression "iVar26 + 8 + iVar22 * 8" (binary_expression "iVar26 + 8" identifier + number_literal) + (binary_expression "iVar22 * 8" identifier * number_literal)) )))))) )) (goto_statement "goto joined_r0x0005676e;" goto statement_identifier ;)) (expression_statement "iVar26 = iVar26 + 0x68;" (assignment_expression "iVar26 = iVar26 + 0x68" identifier = (binary_expression "iVar26 + 0x68" identifier + number_literal)) ;) })) (expression_statement "iVar26 = 0;" (assignment_expression "iVar26 = 0" identifier = number_literal) ;) (labeled_statement "joined_r0x0005676e:\n        uVar13 = local_f0;" statement_identifier : (expression_statement "uVar13 = local_f0;" (assignment_expression "uVar13 = local_f0" identifier = identifier) ;)) (if_statement "if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar6 = 0xff;\njoined_r0x000567df:\n          pcVar18 = pcVar16 + local_f0;\n          if ((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))\n          goto LAB_00056caa;\nLAB_000567f7:\n          uVar27 = 0;\n          uVar5 = 0;\n          if (iVar26 != 0) goto LAB_0005680f;\nLAB_00056cce:\n          uVar27 = uVar5;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n        }\n        else {\n          pcVar18 = pcVar17 + 3;\n          if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }\n          pcVar16 = pcVar17 + 4;\n          bVar6 = 0;\n          pcVar18 = pcVar16 + local_f0;\n          if (pcVar25 <= pcVar18) goto LAB_000567f7;\nLAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);\n          uVar5 = uVar27;\n          if (iVar26 == 0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);\n          local_98 = *(int *)(iVar26 + 0x24);\n          local_ac = *(uint *)(iVar26 + 0x54);\n        }" if (parenthesized_expression "(local_e2 < 5)" ( (binary_expression "local_e2 < 5" identifier < number_literal) )) (compound_statement "{\n          local_b4 = 1;\n          bVar6 = 0xff;\njoined_r0x000567df:\n          pcVar18 = pcVar16 + local_f0;\n          if ((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))\n          goto LAB_00056caa;\nLAB_000567f7:\n          uVar27 = 0;\n          uVar5 = 0;\n          if (iVar26 != 0) goto LAB_0005680f;\nLAB_00056cce:\n          uVar27 = uVar5;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n        }" { (expression_statement "local_b4 = 1;" (assignment_expression "local_b4 = 1" identifier = number_literal) ;) (expression_statement "bVar6 = 0xff;" (assignment_expression "bVar6 = 0xff" identifier = number_literal) ;) (labeled_statement "joined_r0x000567df:\n          pcVar18 = pcVar16 + local_f0;" statement_identifier : (expression_statement "pcVar18 = pcVar16 + local_f0;" (assignment_expression "pcVar18 = pcVar16 + local_f0" identifier = (binary_expression "pcVar16 + local_f0" identifier + identifier)) ;)) (if_statement "if ((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))\n          goto LAB_00056caa;" if (parenthesized_expression "((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))" ( (binary_expression "(pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8)))" (parenthesized_expression "(pcVar18 < pcVar25)" ( (binary_expression "pcVar18 < pcVar25" identifier < identifier) )) || (parenthesized_expression "((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8)))" ( (parenthesized_expression "(pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))" ( (binary_expression "pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8)" (binary_expression "pcVar16 < pcVar25" identifier < identifier) && (parenthesized_expression "(uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8)" ( (comma_expression "uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8" (assignment_expression "uVar13 = (int)pcVar25 - (int)pcVar16" identifier = (binary_expression "(int)pcVar25 - (int)pcVar16" (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar16" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "((int)pcVar25 - (int)pcVar16) - 1U < 8" (binary_expression "((int)pcVar25 - (int)pcVar16) - 1U" (parenthesized_expression "((int)pcVar25 - (int)pcVar16)" ( (binary_expression "(int)pcVar25 - (int)pcVar16" (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal) < number_literal)) ))) )) ))) )) (goto_statement "goto LAB_00056caa;" goto statement_identifier ;)) (labeled_statement "LAB_000567f7:\n          uVar27 = 0;" statement_identifier : (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" identifier = number_literal) ;)) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) (if_statement "if (iVar26 != 0) goto LAB_0005680f;" if (parenthesized_expression "(iVar26 != 0)" ( (binary_expression "iVar26 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0005680f;" goto statement_identifier ;)) (labeled_statement "LAB_00056cce:\n          uVar27 = uVar5;" statement_identifier : (expression_statement "uVar27 = uVar5;" (assignment_expression "uVar27 = uVar5" identifier = identifier) ;)) (expression_statement "local_9c = 0;" (assignment_expression "local_9c = 0" identifier = number_literal) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);" (assignment_expression "local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40)" identifier = (pointer_expression "*(uint *)(&DAT_000b485c + param_3 * 0x40)" * (cast_expression "(uint *)(&DAT_000b485c + param_3 * 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_000b485c + param_3 * 0x40)" ( (binary_expression "&DAT_000b485c + param_3 * 0x40" (pointer_expression "&DAT_000b485c" & identifier) + (binary_expression "param_3 * 0x40" identifier * number_literal)) ))))) ;) }) (else_clause "else {\n          pcVar18 = pcVar17 + 3;\n          if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }\n          pcVar16 = pcVar17 + 4;\n          bVar6 = 0;\n          pcVar18 = pcVar16 + local_f0;\n          if (pcVar25 <= pcVar18) goto LAB_000567f7;\nLAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);\n          uVar5 = uVar27;\n          if (iVar26 == 0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);\n          local_98 = *(int *)(iVar26 + 0x24);\n          local_ac = *(uint *)(iVar26 + 0x54);\n        }" else (compound_statement "{\n          pcVar18 = pcVar17 + 3;\n          if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }\n          pcVar16 = pcVar17 + 4;\n          bVar6 = 0;\n          pcVar18 = pcVar16 + local_f0;\n          if (pcVar25 <= pcVar18) goto LAB_000567f7;\nLAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);\n          uVar5 = uVar27;\n          if (iVar26 == 0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);\n          local_98 = *(int *)(iVar26 + 0x24);\n          local_ac = *(uint *)(iVar26 + 0x54);\n        }" { (expression_statement "pcVar18 = pcVar17 + 3;" (assignment_expression "pcVar18 = pcVar17 + 3" identifier = (binary_expression "pcVar17 + 3" identifier + number_literal)) ;) (if_statement "if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }" if (parenthesized_expression "(pcVar18 < pcVar25)" ( (binary_expression "pcVar18 < pcVar25" identifier < identifier) )) (compound_statement "{\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }" { (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);" statement_identifier : (expression_statement "local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);" (assignment_expression "local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7)" identifier = (call_expression "(*DAT_000b9dd8)(pcVar16,iVar7)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(pcVar16,iVar7)" ( identifier , identifier )))) ;)) (expression_statement "param_5 = (uint)(local_b4 == 2);" (assignment_expression "param_5 = (uint)(local_b4 == 2)" identifier = (call_expression "(uint)(local_b4 == 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_b4 == 2)" ( (binary_expression "local_b4 == 2" identifier == number_literal) )))) ;) (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" identifier = number_literal) ;) (if_statement "if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }" if (parenthesized_expression "((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))))" ( (binary_expression "(pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))" (parenthesized_expression "(pcVar17 + 4 < pcVar25)" ( (binary_expression "pcVar17 + 4 < pcVar25" (binary_expression "pcVar17 + 4" identifier + number_literal) < identifier) )) || (parenthesized_expression "((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))" ( (parenthesized_expression "(pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))" ( (binary_expression "pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)" (binary_expression "pcVar18 < pcVar25" identifier < identifier) && (parenthesized_expression "(iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)" ( (comma_expression "iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8" (assignment_expression "iVar7 = (int)pcVar25 - (int)pcVar18" identifier = (binary_expression "(int)pcVar25 - (int)pcVar18" (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar18" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "iVar7 - 1U < 8" (binary_expression "iVar7 - 1U" identifier - number_literal) < number_literal)) ))) )) ))) )) (compound_statement "{\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }" { (labeled_statement "LAB_000567c4:\n              pcVar16 = pcVar17 + 4;" statement_identifier : (expression_statement "pcVar16 = pcVar17 + 4;" (assignment_expression "pcVar16 = pcVar17 + 4" identifier = (binary_expression "pcVar17 + 4" identifier + number_literal)) ;)) (expression_statement "bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);" (assignment_expression "bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7)" identifier = (call_expression "(*DAT_000b9dd8)(pcVar18,iVar7)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(pcVar18,iVar7)" ( identifier , identifier )))) ;) (goto_statement "goto joined_r0x000567df;" goto statement_identifier ;) })) }) (else_clause "else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }" else (compound_statement "{\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }" { (if_statement "if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;" if (parenthesized_expression "((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))" ( (binary_expression "(pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8)" (parenthesized_expression "(pcVar16 < pcVar25)" ( (binary_expression "pcVar16 < pcVar25" identifier < identifier) )) && (parenthesized_expression "(iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8)" ( (comma_expression "iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8" (assignment_expression "iVar7 = (int)pcVar25 - (int)pcVar16" identifier = (binary_expression "(int)pcVar25 - (int)pcVar16" (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar16" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "iVar7 - 1U < 8" (binary_expression "iVar7 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00057245;" goto statement_identifier ;)) (expression_statement "param_5 = 0;" (assignment_expression "param_5 = 0" identifier = number_literal) ;) (expression_statement "local_b4 = 0;" (assignment_expression "local_b4 = 0" identifier = number_literal) ;) (if_statement "if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }" if (parenthesized_expression "(pcVar17 + 4 < pcVar25)" ( (binary_expression "pcVar17 + 4 < pcVar25" (binary_expression "pcVar17 + 4" identifier + number_literal) < identifier) )) (compound_statement "{\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }" { (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_000567c4;" goto statement_identifier ;) })) }))) (expression_statement "pcVar16 = pcVar17 + 4;" (assignment_expression "pcVar16 = pcVar17 + 4" identifier = (binary_expression "pcVar17 + 4" identifier + number_literal)) ;) (expression_statement "bVar6 = 0;" (assignment_expression "bVar6 = 0" identifier = number_literal) ;) (expression_statement "pcVar18 = pcVar16 + local_f0;" (assignment_expression "pcVar18 = pcVar16 + local_f0" identifier = (binary_expression "pcVar16 + local_f0" identifier + identifier)) ;) (if_statement "if (pcVar25 <= pcVar18) goto LAB_000567f7;" if (parenthesized_expression "(pcVar25 <= pcVar18)" ( (binary_expression "pcVar25 <= pcVar18" identifier <= identifier) )) (goto_statement "goto LAB_000567f7;" goto statement_identifier ;)) (labeled_statement "LAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);" statement_identifier : (expression_statement "uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);" (assignment_expression "uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13)" identifier = (call_expression "(*DAT_000b9dd8)(pcVar16,uVar13)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(pcVar16,uVar13)" ( identifier , identifier )))) ;)) (expression_statement "uVar5 = uVar27;" (assignment_expression "uVar5 = uVar27" identifier = identifier) ;) (if_statement "if (iVar26 == 0) goto LAB_00056cce;" if (parenthesized_expression "(iVar26 == 0)" ( (binary_expression "iVar26 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00056cce;" goto statement_identifier ;)) (labeled_statement "LAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);" statement_identifier : (expression_statement "local_9c = *(uint *)(iVar26 + 0x20);" (assignment_expression "local_9c = *(uint *)(iVar26 + 0x20)" identifier = (pointer_expression "*(uint *)(iVar26 + 0x20)" * (cast_expression "(uint *)(iVar26 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x20)" ( (binary_expression "iVar26 + 0x20" identifier + number_literal) ))))) ;)) (expression_statement "local_98 = *(int *)(iVar26 + 0x24);" (assignment_expression "local_98 = *(int *)(iVar26 + 0x24)" identifier = (pointer_expression "*(int *)(iVar26 + 0x24)" * (cast_expression "(int *)(iVar26 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x24)" ( (binary_expression "iVar26 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "local_ac = *(uint *)(iVar26 + 0x54);" (assignment_expression "local_ac = *(uint *)(iVar26 + 0x54)" identifier = (pointer_expression "*(uint *)(iVar26 + 0x54)" * (cast_expression "(uint *)(iVar26 + 0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x54)" ( (binary_expression "iVar26 + 0x54" identifier + number_literal) ))))) ;) }))) (expression_statement "local_a0 = (uint)((ulonglong)uVar27 >> 0x20);" (assignment_expression "local_a0 = (uint)((ulonglong)uVar27 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar27 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar27 >> 0x20)" ( (binary_expression "(ulonglong)uVar27 >> 0x20" (cast_expression "(ulonglong)uVar27" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_b0 = (uint)uVar27;" (assignment_expression "local_b0 = (uint)uVar27" identifier = (cast_expression "(uint)uVar27" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pcVar17 = pcVar18;" (assignment_expression "pcVar17 = pcVar18" identifier = identifier) ;) (if_statement "if (local_e2 < 5) {\n          pcVar17 = pcVar18 + 1;\n          if (pcVar17 < pcVar25) {\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }\n          if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))\n          goto LAB_00056c35;\n          bVar6 = 0;\nLAB_00056853:\n          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;\n          warn(uVar10,bVar6,local_f0);\n          bVar6 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;\n        }" if (parenthesized_expression "(local_e2 < 5)" ( (binary_expression "local_e2 < 5" identifier < number_literal) )) (compound_statement "{\n          pcVar17 = pcVar18 + 1;\n          if (pcVar17 < pcVar25) {\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }\n          if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))\n          goto LAB_00056c35;\n          bVar6 = 0;\nLAB_00056853:\n          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;\n          warn(uVar10,bVar6,local_f0);\n          bVar6 = (byte)local_f0;\n        }" { (expression_statement "pcVar17 = pcVar18 + 1;" (assignment_expression "pcVar17 = pcVar18 + 1" identifier = (binary_expression "pcVar18 + 1" identifier + number_literal)) ;) (if_statement "if (pcVar17 < pcVar25) {\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }" if (parenthesized_expression "(pcVar17 < pcVar25)" ( (binary_expression "pcVar17 < pcVar25" identifier < identifier) )) (compound_statement "{\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }" { (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);" statement_identifier : (expression_statement "bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);" (assignment_expression "bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7)" identifier = (call_expression "(*DAT_000b9dd8)(pcVar18,iVar7)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(pcVar18,iVar7)" ( identifier , identifier )))) ;)) (goto_statement "goto LAB_00056c57;" goto statement_identifier ;) })) (if_statement "if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))\n          goto LAB_00056c35;" if (parenthesized_expression "((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))" ( (binary_expression "(pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)" (parenthesized_expression "(pcVar18 < pcVar25)" ( (binary_expression "pcVar18 < pcVar25" identifier < identifier) )) && (parenthesized_expression "(iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)" ( (comma_expression "iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8" (assignment_expression "iVar7 = (int)pcVar25 - (int)pcVar18" identifier = (binary_expression "(int)pcVar25 - (int)pcVar18" (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar18" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "iVar7 - 1U < 8" (binary_expression "iVar7 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00056c35;" goto statement_identifier ;)) (expression_statement "bVar6 = 0;" (assignment_expression "bVar6 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00056853:\n          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;" statement_identifier : (expression_statement "uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;" (assignment_expression "uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)" identifier = (call_expression "dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)" identifier (argument_list "(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)" ( number_literal , (string_literal ""Invalid pointer size (%d) in compunit header, using %d instead\n"" " string_content escape_sequence ") , number_literal )))) ;)) (expression_statement "warn(uVar10,bVar6,local_f0);" (call_expression "warn(uVar10,bVar6,local_f0)" identifier (argument_list "(uVar10,bVar6,local_f0)" ( identifier , identifier , identifier ))) ;) (expression_statement "bVar6 = (byte)local_f0;" (assignment_expression "bVar6 = (byte)local_f0" identifier = (cast_expression "(byte)local_f0" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) }) (else_clause "else {\nLAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;\n        }" else (compound_statement "{\nLAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;\n        }" { (labeled_statement "LAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;" statement_identifier : (if_statement "if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;" if (parenthesized_expression "(6 < (byte)(bVar6 - 2))" ( (binary_expression "6 < (byte)(bVar6 - 2)" number_literal < (call_expression "(byte)(bVar6 - 2)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar6 - 2)" ( (binary_expression "bVar6 - 2" identifier - number_literal) )))) )) (goto_statement "goto LAB_00056853;" goto statement_identifier ;))) }))) (if_statement "if (param_5 != 0) {\n          pcVar18 = pcVar17 + 8;\n          if (pcVar25 < pcVar18) {\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }\n          else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }\n          pcVar17 = pcVar18 + local_f0;\n          uVar13 = local_f0;\n          if ((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }\n        }" if (parenthesized_expression "(param_5 != 0)" ( (binary_expression "param_5 != 0" identifier != number_literal) )) (compound_statement "{\n          pcVar18 = pcVar17 + 8;\n          if (pcVar25 < pcVar18) {\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }\n          else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }\n          pcVar17 = pcVar18 + local_f0;\n          uVar13 = local_f0;\n          if ((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }\n        }" { (expression_statement "pcVar18 = pcVar17 + 8;" (assignment_expression "pcVar18 = pcVar17 + 8" identifier = (binary_expression "pcVar17 + 8" identifier + number_literal)) ;) (if_statement "if (pcVar25 < pcVar18) {\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }\n          else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }" if (parenthesized_expression "(pcVar25 < pcVar18)" ( (binary_expression "pcVar25 < pcVar18" identifier < identifier) )) (compound_statement "{\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }" { (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }" else (compound_statement "{\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }" { (expression_statement "FUN_000670f0(pcVar17,&local_6c,&local_64);" (call_expression "FUN_000670f0(pcVar17,&local_6c,&local_64)" identifier (argument_list "(pcVar17,&local_6c,&local_64)" ( identifier , (pointer_expression "&local_6c" & identifier) , (pointer_expression "&local_64" & identifier) ))) ;) }))) (expression_statement "pcVar17 = pcVar18 + local_f0;" (assignment_expression "pcVar17 = pcVar18 + local_f0" identifier = (binary_expression "pcVar18 + local_f0" identifier + identifier)) ;) (expression_statement "uVar13 = local_f0;" (assignment_expression "uVar13 = local_f0" identifier = identifier) ;) (if_statement "if ((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }" if (parenthesized_expression "((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8))))" ( (binary_expression "(pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))" (parenthesized_expression "(pcVar17 < pcVar25)" ( (binary_expression "pcVar17 < pcVar25" identifier < identifier) )) || (parenthesized_expression "((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))" ( (parenthesized_expression "(pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8))" ( (binary_expression "pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)" (binary_expression "pcVar18 < pcVar25" identifier < identifier) && (parenthesized_expression "(uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)" ( (comma_expression "uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8" (assignment_expression "uVar13 = (int)pcVar25 - (int)pcVar18" identifier = (binary_expression "(int)pcVar25 - (int)pcVar18" (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar18" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "((int)pcVar25 - (int)pcVar18) - 1U < 8" (binary_expression "((int)pcVar25 - (int)pcVar18) - 1U" (parenthesized_expression "((int)pcVar25 - (int)pcVar18)" ( (binary_expression "(int)pcVar25 - (int)pcVar18" (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar18" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal) < number_literal)) ))) )) ))) )) (compound_statement "{\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }" { (expression_statement "(*DAT_000b9dd8)(pcVar18,uVar13);" (call_expression "(*DAT_000b9dd8)(pcVar18,uVar13)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(pcVar18,uVar13)" ( identifier , identifier ))) ;) })) })) (expression_statement "uVar13 = DAT_000b9dd4;" (assignment_expression "uVar13 = DAT_000b9dd4" identifier = identifier) ;) (expression_statement "uVar11 = local_d4 + uVar8;" (assignment_expression "uVar11 = local_d4 + uVar8" identifier = (binary_expression "local_d4 + uVar8" identifier + identifier)) ;) (expression_statement "lVar4 = lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8;" (assignment_expression "lVar4 = lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8" identifier = (binary_expression "lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8" (binary_expression "lVar28 + CONCAT44(uVar9,local_cc)" identifier + (call_expression "CONCAT44(uVar9,local_cc)" identifier (argument_list "(uVar9,local_cc)" ( identifier , identifier )))) + (cast_expression "(ulonglong)uVar8" ( (type_descriptor "ulonglong" type_identifier) ) identifier))) ;) (if_statement "if ((uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4)) {\n          local_f4 = pcVar15 + uVar11 + local_ec;\n        }\n        else {\n          if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);\n          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);\n          if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + local_d4 + local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }\n        }" if (parenthesized_expression "((uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4))" ( (binary_expression "(uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4)" (call_expression "(uint)((ulonglong)lVar4 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar4 >> 0x20)" ( (binary_expression "(ulonglong)lVar4 >> 0x20" (cast_expression "(ulonglong)lVar4" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) < (call_expression "(uint)((uint)lVar4 < DAT_000b9dd4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)lVar4 < DAT_000b9dd4)" ( (binary_expression "(uint)lVar4 < DAT_000b9dd4" (cast_expression "(uint)lVar4" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier) )))) )) (compound_statement "{\n          local_f4 = pcVar15 + uVar11 + local_ec;\n        }" { (expression_statement "local_f4 = pcVar15 + uVar11 + local_ec;" (assignment_expression "local_f4 = pcVar15 + uVar11 + local_ec" identifier = (binary_expression "pcVar15 + uVar11 + local_ec" (binary_expression "pcVar15 + uVar11" identifier + identifier) + identifier)) ;) }) (else_clause "else {\n          if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);\n          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);\n          if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + local_d4 + local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }\n        }" else (compound_statement "{\n          if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);\n          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);\n          if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + local_d4 + local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }\n        }" { (if_statement "if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;" if (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) (compound_statement "{\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }" { (if_statement "if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }" if (parenthesized_expression "((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0))" ( (binary_expression "(DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)" (parenthesized_expression "(DAT_000b9d90 != 0 || DAT_000b9db4 != 0)" ( (binary_expression "DAT_000b9d90 != 0 || DAT_000b9db4 != 0" (binary_expression "DAT_000b9d90 != 0" identifier != number_literal) || (binary_expression "DAT_000b9db4 != 0" identifier != number_literal)) )) && (parenthesized_expression "(DAT_000b9d6c == 0)" ( (binary_expression "DAT_000b9d6c == 0" identifier == number_literal) ))) )) (compound_statement "{\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }" { (labeled_statement "LAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }" statement_identifier : (if_statement "if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }" if (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) (compound_statement "{\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }" { (expression_statement "puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);" (assignment_expression "puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64)" identifier = (cast_expression "(uint *)(local_a4 * 0x50 + (int)DAT_000b9d64)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a4 * 0x50 + (int)DAT_000b9d64)" ( (binary_expression "local_a4 * 0x50 + (int)DAT_000b9d64" (binary_expression "local_a4 * 0x50" identifier * number_literal) + (cast_expression "(int)DAT_000b9d64" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "*puVar12 = (uint)bVar6;" (assignment_expression "*puVar12 = (uint)bVar6" (pointer_expression "*puVar12" * identifier) = (cast_expression "(uint)bVar6" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar12[4] = uVar9;" (assignment_expression "puVar12[4] = uVar9" (subscript_expression "puVar12[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[3] = uVar8;" (assignment_expression "puVar12[3] = uVar8" (subscript_expression "puVar12[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[1] = local_f0;" (assignment_expression "puVar12[1] = local_f0" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[2] = (uint)local_e2;" (assignment_expression "puVar12[2] = (uint)local_e2" (subscript_expression "puVar12[2]" identifier [ number_literal ]) = (cast_expression "(uint)local_e2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar12[5] = 0;" (assignment_expression "puVar12[5] = 0" (subscript_expression "puVar12[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[6] = 0;" (assignment_expression "puVar12[6] = 0" (subscript_expression "puVar12[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[7] = 0xffffffff;" (assignment_expression "puVar12[7] = 0xffffffff" (subscript_expression "puVar12[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[8] = 0;" (assignment_expression "puVar12[8] = 0" (subscript_expression "puVar12[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[9] = 0xffffffff;" (assignment_expression "puVar12[9] = 0xffffffff" (subscript_expression "puVar12[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[10] = 0;" (assignment_expression "puVar12[10] = 0" (subscript_expression "puVar12[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[0xb] = 0;" (assignment_expression "puVar12[0xb] = 0" (subscript_expression "puVar12[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[0xd] = 0;" (assignment_expression "puVar12[0xd] = 0" (subscript_expression "puVar12[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[0xf] = 0;" (assignment_expression "puVar12[0xf] = 0" (subscript_expression "puVar12[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[0xe] = 0;" (assignment_expression "puVar12[0xe] = 0" (subscript_expression "puVar12[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[0x11] = 0;" (assignment_expression "puVar12[0x11] = 0" (subscript_expression "puVar12[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[0x13] = 0;" (assignment_expression "puVar12[0x13] = 0" (subscript_expression "puVar12[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[0x12] = 0;" (assignment_expression "puVar12[0x12] = 0" (subscript_expression "puVar12[0x12]" identifier [ number_literal ]) = number_literal) ;) }))) (if_statement "if (param_4 != 0) goto LAB_00056a44;" if (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00056a44;" goto statement_identifier ;)) })) (if_statement "if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }" if (parenthesized_expression "(uVar13 == 0)" ( (binary_expression "uVar13 == 0" identifier == number_literal) )) (compound_statement "{\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }" { (expression_statement "uVar10 = FUN_0004cb50(0);" (assignment_expression "uVar10 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5)" identifier (argument_list "(0,"  Compilation Unit @ offset 0x%s:\n",5)" ( number_literal , (string_literal ""  Compilation Unit @ offset 0x%s:\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar18,uVar10);" (call_expression "printf(pcVar18,uVar10)" identifier (argument_list "(pcVar18,uVar10)" ( identifier , identifier ))) ;) (expression_statement "pcVar18 = "64-bit";" (assignment_expression "pcVar18 = "64-bit"" identifier = (string_literal ""64-bit"" " string_content ")) ;) (if_statement "if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }" if (parenthesized_expression "(local_f0 != 8)" ( (binary_expression "local_f0 != 8" identifier != number_literal) )) (compound_statement "{\n                pcVar18 = "32-bit";\n              }" { (expression_statement "pcVar18 = "32-bit";" (assignment_expression "pcVar18 = "32-bit"" identifier = (string_literal ""32-bit"" " string_content ")) ;) })) (expression_statement "uVar10 = FUN_0004cb50(0);" (assignment_expression "uVar10 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);" (assignment_expression "pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"   Length:        0x%s (%s)\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"   Length:        0x%s (%s)\n",5)" identifier (argument_list "(0,"   Length:        0x%s (%s)\n",5)" ( number_literal , (string_literal ""   Length:        0x%s (%s)\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar16,uVar10,pcVar18);" (call_expression "printf(pcVar16,uVar10,pcVar18)" identifier (argument_list "(pcVar16,uVar10,pcVar18)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"   Version:       %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"   Version:       %d\n",5)" identifier (argument_list "(0,"   Version:       %d\n",5)" ( number_literal , (string_literal ""   Version:       %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar18,(uint)local_e2);" (call_expression "printf(pcVar18,(uint)local_e2)" identifier (argument_list "(pcVar18,(uint)local_e2)" ( identifier , (cast_expression "(uint)local_e2" ( (type_descriptor "uint" type_identifier) ) identifier) ))) ;) (expression_statement "uVar10 = FUN_0004cb50(0);" (assignment_expression "uVar10 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"   Abbrev Offset: 0x%s\n",5)" identifier (argument_list "(0,"   Abbrev Offset: 0x%s\n",5)" ( number_literal , (string_literal ""   Abbrev Offset: 0x%s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar18,uVar10);" (call_expression "printf(pcVar18,uVar10)" identifier (argument_list "(pcVar18,uVar10)" ( identifier , identifier ))) ;) (expression_statement "pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"   Pointer Size:  %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"   Pointer Size:  %d\n",5)" identifier (argument_list "(0,"   Pointer Size:  %d\n",5)" ( number_literal , (string_literal ""   Pointer Size:  %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar18,(uint)bVar6);" (call_expression "printf(pcVar18,(uint)bVar6)" identifier (argument_list "(pcVar18,(uint)bVar6)" ( identifier , (cast_expression "(uint)bVar6" ( (type_descriptor "uint" type_identifier) ) identifier) ))) ;) (if_statement "if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }" if (parenthesized_expression "(param_5 != 0)" ( (binary_expression "param_5 != 0" identifier != number_literal) )) (compound_statement "{\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }" { (expression_statement "uVar10 = FUN_0004eae0(local_64,local_60,local_5c);" (assignment_expression "uVar10 = FUN_0004eae0(local_64,local_60,local_5c)" identifier = (call_expression "FUN_0004eae0(local_64,local_60,local_5c)" identifier (argument_list "(local_64,local_60,local_5c)" ( identifier , identifier , identifier )))) ;) (expression_statement "pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"   Signature:     0x%s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"   Signature:     0x%s\n",5)" identifier (argument_list "(0,"   Signature:     0x%s\n",5)" ( number_literal , (string_literal ""   Signature:     0x%s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar18,uVar10);" (call_expression "printf(pcVar18,uVar10)" identifier (argument_list "(pcVar18,uVar10)" ( identifier , identifier ))) ;) (expression_statement "uVar10 = FUN_0004cb50(0);" (assignment_expression "uVar10 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"   Type Offset:   0x%s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"   Type Offset:   0x%s\n",5)" identifier (argument_list "(0,"   Type Offset:   0x%s\n",5)" ( number_literal , (string_literal ""   Type Offset:   0x%s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar18,uVar10);" (call_expression "printf(pcVar18,uVar10)" identifier (argument_list "(pcVar18,uVar10)" ( identifier , identifier ))) ;) })) (if_statement "if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }" if (parenthesized_expression "(iVar26 != 0)" ( (binary_expression "iVar26 != 0" identifier != number_literal) )) (compound_statement "{\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }" { (expression_statement "pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"   Section contributions:\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"   Section contributions:\n",5)" identifier (argument_list "(0,"   Section contributions:\n",5)" ( number_literal , (string_literal ""   Section contributions:\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar18);" (call_expression "printf(pcVar18)" identifier (argument_list "(pcVar18)" ( identifier ))) ;) (expression_statement "uVar10 = FUN_0004cb50(0);" (assignment_expression "uVar10 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "uVar14 = FUN_0004cb50(0);" (assignment_expression "uVar14 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5)" identifier (argument_list "(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5)" ( number_literal , (string_literal ""    .debug_abbrev.dwo:       0x%s  0x%s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar18,uVar14,uVar10);" (call_expression "printf(pcVar18,uVar14,uVar10)" identifier (argument_list "(pcVar18,uVar14,uVar10)" ( identifier , identifier , identifier ))) ;) (expression_statement "uVar10 = FUN_0004cb50(0);" (assignment_expression "uVar10 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "uVar14 = FUN_0004cb50(0);" (assignment_expression "uVar14 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5)" identifier (argument_list "(0,"    .debug_line.dwo:         0x%s  0x%s\n",5)" ( number_literal , (string_literal ""    .debug_line.dwo:         0x%s  0x%s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar18,uVar14,uVar10);" (call_expression "printf(pcVar18,uVar14,uVar10)" identifier (argument_list "(pcVar18,uVar14,uVar10)" ( identifier , identifier , identifier ))) ;) (expression_statement "uVar10 = FUN_0004cb50(0);" (assignment_expression "uVar10 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "uVar14 = FUN_0004cb50(0);" (assignment_expression "uVar14 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5)" identifier (argument_list "(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5)" ( number_literal , (string_literal ""    .debug_loc.dwo:          0x%s  0x%s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar18,uVar14,uVar10);" (call_expression "printf(pcVar18,uVar14,uVar10)" identifier (argument_list "(pcVar18,uVar14,uVar10)" ( identifier , identifier , identifier ))) ;) (expression_statement "uVar10 = FUN_0004cb50(0);" (assignment_expression "uVar10 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "uVar14 = FUN_0004cb50(0);" (assignment_expression "uVar14 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5)" identifier (argument_list "(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5)" ( number_literal , (string_literal ""    .debug_str_offsets.dwo:  0x%s  0x%s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar18,uVar14,uVar10);" (call_expression "printf(pcVar18,uVar14,uVar10)" identifier (argument_list "(pcVar18,uVar14,uVar10)" ( identifier , identifier , identifier ))) ;) })) })) }) (else_clause "else if (DAT_000b9d6c == 0) goto LAB_00056993;" else (if_statement "if (DAT_000b9d6c == 0) goto LAB_00056993;" if (parenthesized_expression "(DAT_000b9d6c == 0)" ( (binary_expression "DAT_000b9d6c == 0" identifier == number_literal) )) (goto_statement "goto LAB_00056993;" goto statement_identifier ;)))) (labeled_statement "LAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);" statement_identifier : (expression_statement "uVar13 = (uint)(lVar28 + (ulonglong)uVar11);" (assignment_expression "uVar13 = (uint)(lVar28 + (ulonglong)uVar11)" identifier = (call_expression "(uint)(lVar28 + (ulonglong)uVar11)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(lVar28 + (ulonglong)uVar11)" ( (binary_expression "lVar28 + (ulonglong)uVar11" identifier + (cast_expression "(ulonglong)uVar11" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) )))) ;)) (expression_statement "uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);" (assignment_expression "uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20)" identifier = (call_expression "(uint)(lVar28 + (ulonglong)uVar11 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(lVar28 + (ulonglong)uVar11 >> 0x20)" ( (binary_expression "lVar28 + (ulonglong)uVar11 >> 0x20" (binary_expression "lVar28 + (ulonglong)uVar11" identifier + (cast_expression "(ulonglong)uVar11" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) >> number_literal) )))) ;) (if_statement "if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }" if (parenthesized_expression "((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13)))" ( (binary_expression "(uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))" (parenthesized_expression "(uVar23 < (uVar13 < uVar11))" ( (binary_expression "uVar23 < (uVar13 < uVar11)" identifier < (parenthesized_expression "(uVar13 < uVar11)" ( (binary_expression "uVar13 < uVar11" identifier < identifier) ))) )) || (parenthesized_expression "(*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))" ( (binary_expression "*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13)" (binary_expression "*(uint *)(param_1 + 0x20) < uVar23" (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) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13)" (binary_expression "*(uint *)(param_1 + 0x20) - uVar23" (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) < uVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(param_1 + 0x1c) < uVar13)" ( (binary_expression "*(uint *)(param_1 + 0x1c) < uVar13" (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) )))) < identifier) ))))) ))) )) (compound_statement "{\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }" { (expression_statement "uVar14 = FUN_0004cb50(0);" (assignment_expression "uVar14 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "uVar10 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar10 = *(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 "uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);" (assignment_expression "uVar20 = 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(uVar20,uVar10,uVar8,uVar14);" (call_expression "warn(uVar20,uVar10,uVar8,uVar14)" identifier (argument_list "(uVar20,uVar10,uVar8,uVar14)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "local_90 = local_a4;" (assignment_expression "local_90 = local_a4" identifier = identifier) ;) (break_statement "break;" break ;) })) (expression_statement "local_f4 = local_f4 + local_d4 + local_ec;" (assignment_expression "local_f4 = local_f4 + local_d4 + local_ec" identifier = (binary_expression "local_f4 + local_d4 + local_ec" (binary_expression "local_f4 + local_d4" identifier + identifier) + identifier)) ;) (if_statement "if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }" if (parenthesized_expression "((ushort)(local_e2 - 2) < 4)" ( (binary_expression "(ushort)(local_e2 - 2) < 4" (call_expression "(ushort)(local_e2 - 2)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(local_e2 - 2)" ( (binary_expression "local_e2 - 2" identifier - number_literal) ))) < number_literal) )) (compound_statement "{\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }" { (if_statement "if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }" if (parenthesized_expression "(local_b4 - 1U < 2)" ( (binary_expression "local_b4 - 1U < 2" (binary_expression "local_b4 - 1U" identifier - number_literal) < number_literal) )) (compound_statement "{\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }" { (expression_statement "FUN_0004ce90();" (call_expression "FUN_0004ce90()" identifier (argument_list "()" ( ))) ;) (if_statement "if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }" if (parenthesized_expression "(local_a0 < (local_b0 < local_ac))" ( (binary_expression "local_a0 < (local_b0 < local_ac)" identifier < (parenthesized_expression "(local_b0 < local_ac)" ( (binary_expression "local_b0 < local_ac" identifier < identifier) ))) )) (compound_statement "{\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }" { (expression_statement "uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);" (assignment_expression "uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40)" identifier = (pointer_expression "*(uint *)(&DAT_000b485c + param_3 * 0x40)" * (cast_expression "(uint *)(&DAT_000b485c + param_3 * 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_000b485c + param_3 * 0x40)" ( (binary_expression "&DAT_000b485c + param_3 * 0x40" (pointer_expression "&DAT_000b485c" & identifier) + (binary_expression "param_3 * 0x40" identifier * number_literal)) ))))) ;) (expression_statement "uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);" (assignment_expression "uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c)" identifier = (binary_expression "local_98 + (uint)CARRY4(local_ac,local_9c)" identifier + (cast_expression "(uint)CARRY4(local_ac,local_9c)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(local_ac,local_9c)" identifier (argument_list "(local_ac,local_9c)" ( identifier , identifier )))))) ;) (if_statement "if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }" if (parenthesized_expression "(*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c))" ( (binary_expression "*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)" (binary_expression "*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11" (pointer_expression "*(uint *)(&DAT_000b4860 + param_3 * 0x40)" * (cast_expression "(uint *)(&DAT_000b4860 + param_3 * 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_000b4860 + param_3 * 0x40)" ( (binary_expression "&DAT_000b4860 + param_3 * 0x40" (pointer_expression "&DAT_000b4860" & identifier) + (binary_expression "param_3 * 0x40" identifier * number_literal)) )))) < identifier) || (binary_expression "*(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)" (binary_expression "*(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11" (pointer_expression "*(uint *)(&DAT_000b4860 + param_3 * 0x40)" * (cast_expression "(uint *)(&DAT_000b4860 + param_3 * 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_000b4860 + param_3 * 0x40)" ( (binary_expression "&DAT_000b4860 + param_3 * 0x40" (pointer_expression "&DAT_000b4860" & identifier) + (binary_expression "param_3 * 0x40" identifier * number_literal)) )))) - identifier) < (call_expression "(uint)(uVar13 < local_ac + local_9c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar13 < local_ac + local_9c)" ( (binary_expression "uVar13 < local_ac + local_9c" identifier < (binary_expression "local_ac + local_9c" identifier + identifier)) ))))) )) (compound_statement "{\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }" { (expression_statement "uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);" (assignment_expression "uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5)" identifier = (call_expression "dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5)" identifier (argument_list "(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5)" ( number_literal , (string_literal ""Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar10,local_ac + local_9c,uVar13);" (call_expression "warn(uVar10,local_ac + local_9c,uVar13)" identifier (argument_list "(uVar10,local_ac + local_9c,uVar13)" ( identifier , (binary_expression "local_ac + local_9c" identifier + identifier) , identifier ))) ;) }) (else_clause "else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }" else (if_statement "if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }" if (parenthesized_expression "(DAT_000b9ce4 == (int *)0x0)" ( (binary_expression "DAT_000b9ce4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  FUN_0004fb10();\n                }" { (expression_statement "FUN_0004fb10();" (call_expression "FUN_0004fb10()" identifier (argument_list "()" ( ))) ;) })))) }) (else_clause "else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }" else (compound_statement "{\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }" { (expression_statement "uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);" (assignment_expression "uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5)" identifier = (call_expression "dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5)" identifier (argument_list "(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5)" ( number_literal , (string_literal ""Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar10,local_b0,local_ac);" (call_expression "warn(uVar10,local_b0,local_ac)" identifier (argument_list "(uVar10,local_b0,local_ac)" ( identifier , identifier , identifier ))) ;) }))) (if_statement "if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }" if (parenthesized_expression "(pcVar17 < local_f4)" ( (binary_expression "pcVar17 < local_f4" identifier < identifier) )) (compound_statement "{\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }" { (expression_statement "local_78 = -1;" (assignment_expression "local_78 = -1" identifier = number_literal) ;) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (expression_statement "local_d4 = 0;" (assignment_expression "local_d4 = 0" identifier = number_literal) ;) (do_statement "do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);" do (compound_statement "{\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                }" { (expression_statement "uVar11 = (int)pcVar17 - (int)pcVar15;" (assignment_expression "uVar11 = (int)pcVar17 - (int)pcVar15" identifier = (binary_expression "(int)pcVar17 - (int)pcVar15" (cast_expression "(int)pcVar17" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar15" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);" (assignment_expression "iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4)" identifier = (call_expression "FUN_0004f990(pcVar17,local_5c,0,local_f4)" identifier (argument_list "(pcVar17,local_5c,0,local_f4)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "pcVar17 = pcVar17 + local_5c[0];" (assignment_expression "pcVar17 = pcVar17 + local_5c[0]" identifier = (binary_expression "pcVar17 + local_5c[0]" identifier + (subscript_expression "local_5c[0]" identifier [ number_literal ]))) ;) (if_statement "if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }" { (if_statement "if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }" if (parenthesized_expression "((local_d4 == 0) && (pcVar25 == local_f4))" ( (binary_expression "(local_d4 == 0) && (pcVar25 == local_f4)" (parenthesized_expression "(local_d4 == 0)" ( (binary_expression "local_d4 == 0" identifier == number_literal) )) && (parenthesized_expression "(pcVar25 == local_f4)" ( (binary_expression "pcVar25 == local_f4" identifier == identifier) ))) )) (compound_statement "{\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }" { (expression_statement "pcVar18 = pcVar17;" (assignment_expression "pcVar18 = pcVar17" identifier = identifier) ;) (if_statement "if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;" if (parenthesized_expression "(pcVar17 < local_f4)" ( (binary_expression "pcVar17 < local_f4" identifier < identifier) )) (compound_statement "{\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }" { (while_statement "while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }" while (parenthesized_expression "(*pcVar18 == '\0')" ( (binary_expression "*pcVar18 == '\0'" (pointer_expression "*pcVar18" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }" { (expression_statement "pcVar18 = pcVar18 + 1;" (assignment_expression "pcVar18 = pcVar18 + 1" identifier = (binary_expression "pcVar18 + 1" identifier + number_literal)) ;) (if_statement "if (local_f4 == pcVar18) goto LAB_00056ae6;" if (parenthesized_expression "(local_f4 == pcVar18)" ( (binary_expression "local_f4 == pcVar18" identifier == identifier) )) (goto_statement "goto LAB_00056ae6;" goto statement_identifier ;)) })) }) (else_clause "else if (local_f4 == pcVar17) break;" else (if_statement "if (local_f4 == pcVar17) break;" if (parenthesized_expression "(local_f4 == pcVar17)" ( (binary_expression "local_f4 == pcVar17" identifier == identifier) )) (break_statement "break;" break ;)))) (if_statement "if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }" if (parenthesized_expression "(((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1))))" ( (binary_expression "((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))" (parenthesized_expression "((param_4 == 0) && (DAT_000b9dd4 <= uVar11))" ( (binary_expression "(param_4 == 0) && (DAT_000b9dd4 <= uVar11)" (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) && (parenthesized_expression "(DAT_000b9dd4 <= uVar11)" ( (binary_expression "DAT_000b9dd4 <= uVar11" identifier <= identifier) ))) )) && (parenthesized_expression "((0 < DAT_000b4828 || (DAT_000b4828 == -1)))" ( (parenthesized_expression "(0 < DAT_000b4828 || (DAT_000b4828 == -1))" ( (binary_expression "0 < DAT_000b4828 || (DAT_000b4828 == -1)" (binary_expression "0 < DAT_000b4828" number_literal < identifier) || (parenthesized_expression "(DAT_000b4828 == -1)" ( (binary_expression "DAT_000b4828 == -1" identifier == number_literal) ))) )) ))) )) (compound_statement "{\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }" { (expression_statement "iVar7 = -1;" (assignment_expression "iVar7 = -1" identifier = number_literal) ;) (labeled_statement "LAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);" statement_identifier : (expression_statement "pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5)" identifier = (cast_expression "(char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5)" identifier (argument_list "(0," <%d><%lx>: Abbrev Number: 0\n",5)" ( number_literal , (string_literal "" <%d><%lx>: Abbrev Number: 0\n"" " string_content escape_sequence ") , number_literal ))))) ;)) (expression_statement "printf(pcVar18,local_d4,uVar11);" (call_expression "printf(pcVar18,local_d4,uVar11)" identifier (argument_list "(pcVar18,local_d4,uVar11)" ( identifier , identifier , identifier ))) ;) (if_statement "if (-1 < iVar7) goto LAB_00057428;" if (parenthesized_expression "(-1 < iVar7)" ( (binary_expression "-1 < iVar7" number_literal < identifier) )) (goto_statement "goto LAB_00057428;" goto statement_identifier ;)) }) (else_clause "else {\n                        iVar7 = -1;\n                      }" else (compound_statement "{\n                        iVar7 = -1;\n                      }" { (expression_statement "iVar7 = -1;" (assignment_expression "iVar7 = -1" identifier = number_literal) ;) }))) (labeled_statement "LAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }" statement_identifier : (if_statement "if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }" if (parenthesized_expression "(DAT_000b7ca4 < 3)" ( (binary_expression "DAT_000b7ca4 < 3" identifier < number_literal) )) (compound_statement "{\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }" { (expression_statement "uVar10 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar10 = *(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 "uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);" (assignment_expression "uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5)" identifier = (call_expression "dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5)" identifier (argument_list "(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5)" ( number_literal , (string_literal ""Bogus end-of-siblings marker detected at offset %lx in %s section\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar14,uVar11,uVar10);" (call_expression "warn(uVar14,uVar11,uVar10)" identifier (argument_list "(uVar14,uVar11,uVar10)" ( identifier , identifier , identifier ))) ;) (expression_statement "DAT_000b7ca4 = DAT_000b7ca4 + 1;" (assignment_expression "DAT_000b7ca4 = DAT_000b7ca4 + 1" identifier = (binary_expression "DAT_000b7ca4 + 1" identifier + number_literal)) ;) (if_statement "if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }" if (parenthesized_expression "(DAT_000b7ca4 == 3)" ( (binary_expression "DAT_000b7ca4 == 3" identifier == number_literal) )) (compound_statement "{\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }" { (expression_statement "uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);" (assignment_expression "uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5)" identifier = (call_expression "dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5)" identifier (argument_list "(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5)" ( number_literal , (string_literal ""Further warnings about bogus end-of-sibling markers suppressed\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar10);" (call_expression "warn(uVar10)" identifier (argument_list "(uVar10)" ( identifier ))) ;) })) }))) }) (else_clause "else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }" else (compound_statement "{\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }" { (expression_statement "iVar7 = local_d4 + -1;" (assignment_expression "iVar7 = local_d4 + -1" identifier = (binary_expression "local_d4 + -1" identifier + number_literal)) ;) (if_statement "if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;" if (parenthesized_expression "(((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1))))" ( (binary_expression "((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))" (parenthesized_expression "((param_4 == 0) && (DAT_000b9dd4 <= uVar11))" ( (binary_expression "(param_4 == 0) && (DAT_000b9dd4 <= uVar11)" (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) && (parenthesized_expression "(DAT_000b9dd4 <= uVar11)" ( (binary_expression "DAT_000b9dd4 <= uVar11" identifier <= identifier) ))) )) && (parenthesized_expression "((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))" ( (parenthesized_expression "(local_d4 < DAT_000b4828 || (DAT_000b4828 == -1))" ( (binary_expression "local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)" (binary_expression "local_d4 < DAT_000b4828" identifier < identifier) || (parenthesized_expression "(DAT_000b4828 == -1)" ( (binary_expression "DAT_000b4828 == -1" identifier == number_literal) ))) )) ))) )) (goto_statement "goto LAB_00057496;" goto statement_identifier ;)) (if_statement "if (iVar7 < 0) goto LAB_000574d0;" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (goto_statement "goto LAB_000574d0;" goto statement_identifier ;)) }))) (labeled_statement "LAB_00057428:\n                    local_d4 = iVar7;" statement_identifier : (expression_statement "local_d4 = iVar7;" (assignment_expression "local_d4 = iVar7" identifier = identifier) ;)) (if_statement "if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }" if (parenthesized_expression "((DAT_000b9dd4 != 0) && (iVar7 < local_78))" ( (binary_expression "(DAT_000b9dd4 != 0) && (iVar7 < local_78)" (parenthesized_expression "(DAT_000b9dd4 != 0)" ( (binary_expression "DAT_000b9dd4 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar7 < local_78)" ( (binary_expression "iVar7 < local_78" identifier < identifier) ))) )) (compound_statement "{\n                      return 1;\n                    }" { (return_statement "return 1;" return number_literal ;) })) }) (else_clause "else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }" else (compound_statement "{\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }" { (if_statement "if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }" if (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) (compound_statement "{\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }" { (if_statement "if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }" if (parenthesized_expression "(DAT_000b9dd4 != 0)" ( (binary_expression "DAT_000b9dd4 != 0" identifier != number_literal) )) (compound_statement "{\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }" { (if_statement "if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }" if (parenthesized_expression "(uVar11 < DAT_000b9dd4)" ( (binary_expression "uVar11 < DAT_000b9dd4" identifier < identifier) )) (compound_statement "{\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }" { (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" identifier = false) ;) (expression_statement "iVar22 = 0;" (assignment_expression "iVar22 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0005783c;" goto statement_identifier ;) })) (if_statement "if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }" if (parenthesized_expression "(DAT_000b9dd4 == uVar11)" ( (binary_expression "DAT_000b9dd4 == uVar11" identifier == identifier) )) (compound_statement "{\n                          local_78 = local_d4;\n                        }" { (expression_statement "local_78 = local_d4;" (assignment_expression "local_78 = local_d4" identifier = identifier) ;) })) })) (expression_statement "bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;" (assignment_expression "bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828" identifier = (binary_expression "DAT_000b4828 == -1 || local_d4 < DAT_000b4828" (binary_expression "DAT_000b4828 == -1" identifier == number_literal) || (binary_expression "local_d4 < DAT_000b4828" identifier < identifier))) ;) (if_statement "if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }" if (parenthesized_expression "(DAT_000b4828 == -1 || local_d4 < DAT_000b4828)" ( (binary_expression "DAT_000b4828 == -1 || local_d4 < DAT_000b4828" (binary_expression "DAT_000b4828 == -1" identifier == number_literal) || (binary_expression "local_d4 < DAT_000b4828" identifier < identifier)) )) (compound_statement "{\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }" { (expression_statement "uVar13 = 5;" (assignment_expression "uVar13 = 5" identifier = number_literal) ;) (expression_statement "pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5)" identifier = (cast_expression "(char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5)" identifier (argument_list "(0," <%d><%lx>: Abbrev Number: %lu",5)" ( number_literal , (string_literal "" <%d><%lx>: Abbrev Number: %lu"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar18,local_d4,uVar11,iVar7);" (call_expression "printf(pcVar18,local_d4,uVar11,iVar7)" identifier (argument_list "(pcVar18,local_d4,uVar11,iVar7)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "local_70 = local_d4;" (assignment_expression "local_70 = local_d4" identifier = identifier) ;) (expression_statement "iVar22 = 1;" (assignment_expression "iVar22 = 1" identifier = number_literal) ;) }) (else_clause "else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }" else (if_statement "if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }" if (parenthesized_expression "(local_70 < DAT_000b4828)" ( (binary_expression "local_70 < DAT_000b4828" identifier < identifier) )) (compound_statement "{\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }" { (expression_statement "pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5)" identifier = (cast_expression "(char *)dcgettext(0," <%d><%lx>: ...\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," <%d><%lx>: ...\n",5)" identifier (argument_list "(0," <%d><%lx>: ...\n",5)" ( number_literal , (string_literal "" <%d><%lx>: ...\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "uVar13 = uVar11;" (assignment_expression "uVar13 = uVar11" identifier = identifier) ;) (expression_statement "printf(pcVar18,local_d4,uVar11);" (call_expression "printf(pcVar18,local_d4,uVar11)" identifier (argument_list "(pcVar18,local_d4,uVar11)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_70 = local_d4;" (assignment_expression "local_70 = local_d4" identifier = identifier) ;) (expression_statement "iVar22 = 0;" (assignment_expression "iVar22 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }" else (compound_statement "{\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }" { (expression_statement "local_70 = local_d4;" (assignment_expression "local_70 = local_d4" identifier = identifier) ;) (expression_statement "iVar22 = 0;" (assignment_expression "iVar22 = 0" identifier = number_literal) ;) }))))) }) (else_clause "else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }" else (compound_statement "{\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }" { (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" identifier = false) ;) (expression_statement "iVar22 = param_4;" (assignment_expression "iVar22 = param_4" identifier = identifier) ;) }))) (labeled_statement "LAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }" statement_identifier : (if_statement "if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }" if (parenthesized_expression "(DAT_000b9ce4 == (int *)0x0)" ( (binary_expression "DAT_000b9ce4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }" { (labeled_statement "LAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }" statement_identifier : (if_statement "if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }" if (parenthesized_expression "(bVar21)" ( identifier )) (compound_statement "{\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }" { (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (expression_statement "fflush(*(FILE **)PTR_stdout_000b3fd8);" (call_expression "fflush(*(FILE **)PTR_stdout_000b3fd8)" identifier (argument_list "(*(FILE **)PTR_stdout_000b3fd8)" ( (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 "uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);" (assignment_expression "uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5)" identifier = (call_expression "dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5)" identifier (argument_list "(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5)" ( number_literal , (string_literal ""DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar10,uVar11,iVar7);" (call_expression "warn(uVar10,uVar11,iVar7)" identifier (argument_list "(uVar10,uVar11,iVar7)" ( identifier , identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) }))) (expression_statement "iVar1 = *DAT_000b9ce4;" (assignment_expression "iVar1 = *DAT_000b9ce4" identifier = (pointer_expression "*DAT_000b9ce4" * identifier)) ;) (expression_statement "piVar2 = DAT_000b9ce4;" (assignment_expression "piVar2 = DAT_000b9ce4" identifier = identifier) ;) (while_statement "while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }" while (parenthesized_expression "(iVar1 != iVar7)" ( (binary_expression "iVar1 != iVar7" identifier != identifier) )) (compound_statement "{\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }" { (expression_statement "piVar2 = (int *)piVar2[5];" (assignment_expression "piVar2 = (int *)piVar2[5]" identifier = (cast_expression "(int *)piVar2[5]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar2[5]" identifier [ number_literal ]))) ;) (if_statement "if (piVar2 == (int *)0x0) goto LAB_00057dbe;" if (parenthesized_expression "(piVar2 == (int *)0x0)" ( (binary_expression "piVar2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00057dbe;" goto statement_identifier ;)) (expression_statement "iVar1 = *piVar2;" (assignment_expression "iVar1 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) })) (expression_statement "iVar7 = piVar2[1];" (assignment_expression "iVar7 = piVar2[1]" identifier = (subscript_expression "piVar2[1]" identifier [ number_literal ])) ;) (if_statement "if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }" if (parenthesized_expression "(bVar21)" ( identifier )) (compound_statement "{\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }" { (expression_statement "uVar10 = FUN_0004e780();" (assignment_expression "uVar10 = FUN_0004e780()" identifier = (call_expression "FUN_0004e780()" identifier (argument_list "()" ( )))) ;) (expression_statement "printf(" (%s)\n",uVar10,uVar13);" (call_expression "printf(" (%s)\n",uVar10,uVar13)" identifier (argument_list "(" (%s)\n",uVar10,uVar13)" ( (string_literal "" (%s)\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) (expression_statement "iVar7 = piVar2[1];" (assignment_expression "iVar7 = piVar2[1]" identifier = (subscript_expression "piVar2[1]" identifier [ number_literal ])) ;) })) (if_statement "if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }" if (parenthesized_expression "(iVar7 == 0x11)" ( (binary_expression "iVar7 == 0x11" identifier == number_literal) )) (compound_statement "{\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }" { (expression_statement "DAT_000b9d70 = 1;" (assignment_expression "DAT_000b9d70 = 1" identifier = number_literal) ;) (expression_statement "DAT_000b9d4c = param_4;" (assignment_expression "DAT_000b9d4c = param_4" identifier = identifier) ;) }) (else_clause "else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }" else (if_statement "if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }" if (parenthesized_expression "((iVar7 == 0x2e) || (iVar7 == 3))" ( (binary_expression "(iVar7 == 0x2e) || (iVar7 == 3)" (parenthesized_expression "(iVar7 == 0x2e)" ( (binary_expression "iVar7 == 0x2e" identifier == number_literal) )) || (parenthesized_expression "(iVar7 == 3)" ( (binary_expression "iVar7 == 3" identifier == number_literal) ))) )) (compound_statement "{\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }" { (expression_statement "DAT_000b9d70 = 0;" (assignment_expression "DAT_000b9d70 = 0" identifier = number_literal) ;) (expression_statement "DAT_000b9d74 = 0;" (assignment_expression "DAT_000b9d74 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                      DAT_000b9d70 = 0;\n                    }" else (compound_statement "{\n                      DAT_000b9d70 = 0;\n                    }" { (expression_statement "DAT_000b9d70 = 0;" (assignment_expression "DAT_000b9d70 = 0" identifier = number_literal) ;) }))))) (if_statement "if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }" if (parenthesized_expression "(((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0))" ( (binary_expression "((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)" (parenthesized_expression "((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4))" ( (binary_expression "(DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)" (parenthesized_expression "(DAT_000b9d64 == (void *)0x0)" ( (binary_expression "DAT_000b9d64 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(DAT_000b9d68 <= local_a4)" ( (binary_expression "DAT_000b9d68 <= local_a4" identifier <= identifier) ))) )) || (parenthesized_expression "(pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)" ( (comma_expression "pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0" (assignment_expression "pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50)" identifier = (cast_expression "(void *)((int)DAT_000b9d64 + local_a4 * 0x50)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)DAT_000b9d64 + local_a4 * 0x50)" ( (binary_expression "(int)DAT_000b9d64 + local_a4 * 0x50" (cast_expression "(int)DAT_000b9d64" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "local_a4 * 0x50" identifier * number_literal)) )))) , (binary_expression "pvVar19 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }" { (expression_statement "piVar24 = (int *)piVar2[3];" (assignment_expression "piVar24 = (int *)piVar2[3]" identifier = (cast_expression "(int *)piVar2[3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar2[3]" identifier [ number_literal ]))) ;) (if_statement "if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }" if (parenthesized_expression "((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0))" ( (binary_expression "(piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)" (parenthesized_expression "(piVar24 != (int *)0x0)" ( (binary_expression "piVar24 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pvVar19 = (void *)0x0, *piVar24 != 0)" ( (comma_expression "pvVar19 = (void *)0x0, *piVar24 != 0" (assignment_expression "pvVar19 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) , (binary_expression "*piVar24 != 0" (pointer_expression "*piVar24" * identifier) != number_literal)) ))) )) (compound_statement "{\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }" { (labeled_statement "LAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));" statement_identifier : (do_statement "do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));" do (compound_statement "{\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        }" { (if_statement "if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }" if (parenthesized_expression "(bVar21)" ( identifier )) (compound_statement "{\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }" { (expression_statement "printf("    <%lx>",(int)pcVar17 - (int)pcVar15);" (call_expression "printf("    <%lx>",(int)pcVar17 - (int)pcVar15)" identifier (argument_list "("    <%lx>",(int)pcVar17 - (int)pcVar15)" ( (string_literal ""    <%lx>"" " string_content ") , (binary_expression "(int)pcVar17 - (int)pcVar15" (cast_expression "(int)pcVar17" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar15" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) })) (expression_statement "iVar7 = piVar24[2];" (assignment_expression "iVar7 = piVar24[2]" identifier = (subscript_expression "piVar24[2]" identifier [ number_literal ])) ;) (expression_statement "iVar1 = piVar24[3];" (assignment_expression "iVar1 = piVar24[3]" identifier = (subscript_expression "piVar24[3]" identifier [ number_literal ])) ;) (if_statement "if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }" if (parenthesized_expression "(iVar22 == 1 && param_4 == 0)" ( (binary_expression "iVar22 == 1 && param_4 == 0" (binary_expression "iVar22 == 1" identifier == number_literal) && (binary_expression "param_4 == 0" identifier == number_literal)) )) (compound_statement "{\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }" { (expression_statement "uVar10 = FUN_0004e800();" (assignment_expression "uVar10 = FUN_0004e800()" identifier = (call_expression "FUN_0004e800()" identifier (argument_list "()" ( )))) ;) (expression_statement "printf("   %-18s:",uVar10);" (call_expression "printf("   %-18s:",uVar10)" identifier (argument_list "("   %-18s:",uVar10)" ( (string_literal ""   %-18s:"" " string_content ") , identifier ))) ;) (expression_statement "pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);" (assignment_expression "pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20)" identifier = (cast_expression "(char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20)" identifier (argument_list "(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , number_literal , identifier , number_literal , identifier , identifier , number_literal , identifier , identifier , number_literal ))))) ;) (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (expression_statement "piVar24 = (int *)piVar24[4];" (assignment_expression "piVar24 = (int *)piVar24[4]" identifier = (cast_expression "(int *)piVar24[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar24[4]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }" else (compound_statement "{\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }" { (expression_statement "pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);" (assignment_expression "pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20)" identifier = (cast_expression "(char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20)" identifier (argument_list "(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , number_literal , identifier , number_literal , identifier , identifier , number_literal , identifier , identifier , number_literal ))))) ;) (expression_statement "piVar24 = (int *)piVar24[4];" (assignment_expression "piVar24 = (int *)piVar24[4]" identifier = (cast_expression "(int *)piVar24[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar24[4]" identifier [ number_literal ]))) ;) }))) }) while (parenthesized_expression "((piVar24 != (int *)0x0) && (*piVar24 != 0))" ( (binary_expression "(piVar24 != (int *)0x0) && (*piVar24 != 0)" (parenthesized_expression "(piVar24 != (int *)0x0)" ( (binary_expression "piVar24 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*piVar24 != 0)" ( (binary_expression "*piVar24 != 0" (pointer_expression "*piVar24" * identifier) != number_literal) ))) )) ;)) (if_statement "if (pvVar19 != (void *)0x0) goto LAB_00057a88;" if (parenthesized_expression "(pvVar19 != (void *)0x0)" ( (binary_expression "pvVar19 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00057a88;" goto statement_identifier ;)) })) }) (else_clause "else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }" else (compound_statement "{\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }" { (if_statement "if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }" if (parenthesized_expression "(*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40))" ( (binary_expression "*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)" (pointer_expression "*(int *)((int)pvVar19 + 0x38)" * (cast_expression "(int *)((int)pvVar19 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar19 + 0x38)" ( (binary_expression "(int)pvVar19 + 0x38" (cast_expression "(int)pvVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (pointer_expression "*(int *)((int)pvVar19 + 0x40)" * (cast_expression "(int *)((int)pvVar19 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar19 + 0x40)" ( (binary_expression "(int)pvVar19 + 0x40" (cast_expression "(int)pvVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) (compound_statement "{\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }" { (expression_statement "__assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");" (call_expression "__assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info")" identifier (argument_list "("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info")" ( (string_literal ""!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"" " string_content ") , (string_literal ""../../binutils/dwarf.c"" " string_content ") , number_literal , (string_literal ""process_debug_info"" " string_content ") ))) ;) })) (expression_statement "piVar24 = (int *)piVar2[3];" (assignment_expression "piVar24 = (int *)piVar2[3]" identifier = (cast_expression "(int *)piVar2[3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar2[3]" identifier [ number_literal ]))) ;) (if_statement "if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }" if (parenthesized_expression "(piVar24 != (int *)0x0)" ( (binary_expression "piVar24 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }" { (if_statement "if (*piVar24 != 0) goto LAB_000579c3;" if (parenthesized_expression "(*piVar24 != 0)" ( (binary_expression "*piVar24 != 0" (pointer_expression "*piVar24" * identifier) != number_literal) )) (goto_statement "goto LAB_000579c3;" goto statement_identifier ;)) (labeled_statement "LAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);" statement_identifier : (expression_statement "iVar7 = *(int *)((int)pvVar19 + 0x38);" (assignment_expression "iVar7 = *(int *)((int)pvVar19 + 0x38)" identifier = (pointer_expression "*(int *)((int)pvVar19 + 0x38)" * (cast_expression "(int *)((int)pvVar19 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar19 + 0x38)" ( (binary_expression "(int)pvVar19 + 0x38" (cast_expression "(int)pvVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (expression_statement "iVar22 = *(int *)((int)pvVar19 + 0x40);" (assignment_expression "iVar22 = *(int *)((int)pvVar19 + 0x40)" identifier = (pointer_expression "*(int *)((int)pvVar19 + 0x40)" * (cast_expression "(int *)((int)pvVar19 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar19 + 0x40)" ( (binary_expression "(int)pvVar19 + 0x40" (cast_expression "(int)pvVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }" if (parenthesized_expression "(iVar7 - iVar22 == 1)" ( (binary_expression "iVar7 - iVar22 == 1" (binary_expression "iVar7 - iVar22" identifier - identifier) == number_literal) )) (compound_statement "{\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }" { (expression_statement "iVar1 = *(int *)((int)pvVar19 + 0x30);" (assignment_expression "iVar1 = *(int *)((int)pvVar19 + 0x30)" identifier = (pointer_expression "*(int *)((int)pvVar19 + 0x30)" * (cast_expression "(int *)((int)pvVar19 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar19 + 0x30)" ( (binary_expression "(int)pvVar19 + 0x30" (cast_expression "(int)pvVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;" (assignment_expression "*(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff" (pointer_expression "*(undefined4 *)(iVar1 + iVar22 * 8)" * (cast_expression "(undefined4 *)(iVar1 + iVar22 * 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + iVar22 * 8)" ( (binary_expression "iVar1 + iVar22 * 8" identifier + (binary_expression "iVar22 * 8" identifier * number_literal)) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;" (assignment_expression "*(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff" (pointer_expression "*(undefined4 *)(iVar1 + 4 + iVar22 * 8)" * (cast_expression "(undefined4 *)(iVar1 + 4 + iVar22 * 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 4 + iVar22 * 8)" ( (binary_expression "iVar1 + 4 + iVar22 * 8" (binary_expression "iVar1 + 4" identifier + number_literal) + (binary_expression "iVar22 * 8" identifier * number_literal)) )))) = number_literal) ;) (expression_statement "*(int *)((int)pvVar19 + 0x40) = iVar22 + 1;" (assignment_expression "*(int *)((int)pvVar19 + 0x40) = iVar22 + 1" (pointer_expression "*(int *)((int)pvVar19 + 0x40)" * (cast_expression "(int *)((int)pvVar19 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar19 + 0x40)" ( (binary_expression "(int)pvVar19 + 0x40" (cast_expression "(int)pvVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar22 + 1" identifier + number_literal)) ;) (if_statement "if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }" if (parenthesized_expression "(iVar22 + 1 != iVar7)" ( (binary_expression "iVar22 + 1 != iVar7" (binary_expression "iVar22 + 1" identifier + number_literal) != identifier) )) (compound_statement "{\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }" { (expression_statement "__assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");" (call_expression "__assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info")" identifier (argument_list "("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info")" ( (string_literal ""debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"" " string_content ") , (string_literal ""../../binutils/dwarf.c"" " string_content ") , number_literal , (string_literal ""process_debug_info"" " string_content ") ))) ;) })) }) (else_clause "else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }" else (if_statement "if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }" if (parenthesized_expression "(iVar7 != iVar22)" ( (binary_expression "iVar7 != iVar22" identifier != identifier) )) (compound_statement "{\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }" { (if_statement "if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }" if (parenthesized_expression "(iVar7 - iVar22 != -1)" ( (binary_expression "iVar7 - iVar22 != -1" (binary_expression "iVar7 - iVar22" identifier - identifier) != number_literal) )) (compound_statement "{\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }" { (expression_statement "__assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");" (call_expression "__assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info")" identifier (argument_list "("0","../../binutils/dwarf.c",0xcab,"process_debug_info")" ( (string_literal ""0"" " string_content ") , (string_literal ""../../binutils/dwarf.c"" " string_content ") , number_literal , (string_literal ""process_debug_info"" " string_content ") ))) ;) })) (expression_statement "uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);" (assignment_expression "uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5)" identifier = (call_expression "dcgettext(0,"DIE has locviews without loclist\n",5)" identifier (argument_list "(0,"DIE has locviews without loclist\n",5)" ( number_literal , (string_literal ""DIE has locviews without loclist\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar10);" (call_expression "warn(uVar10)" identifier (argument_list "(uVar10)" ( identifier ))) ;) (expression_statement "*(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;" (assignment_expression "*(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1" (pointer_expression "*(int *)((int)pvVar19 + 0x40)" * (cast_expression "(int *)((int)pvVar19 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar19 + 0x40)" ( (binary_expression "(int)pvVar19 + 0x40" (cast_expression "(int)pvVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)pvVar19 + 0x40) + -1" (pointer_expression "*(int *)((int)pvVar19 + 0x40)" * (cast_expression "(int *)((int)pvVar19 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar19 + 0x40)" ( (binary_expression "(int)pvVar19 + 0x40" (cast_expression "(int)pvVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) })))) })) }))) (expression_statement "local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);" (assignment_expression "local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0)" identifier = (binary_expression "(local_d4 + 1) - (uint)(piVar2[2] == 0)" (parenthesized_expression "(local_d4 + 1)" ( (binary_expression "local_d4 + 1" identifier + number_literal) )) - (call_expression "(uint)(piVar2[2] == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar2[2] == 0)" ( (binary_expression "piVar2[2] == 0" (subscript_expression "piVar2[2]" identifier [ number_literal ]) == number_literal) ))))) ;) }))) }) while (parenthesized_expression "(pcVar17 < local_f4)" ( (binary_expression "pcVar17 < local_f4" identifier < identifier) )) ;) })) }) (else_clause "else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }" else (compound_statement "{\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }" { (expression_statement "uVar10 = FUN_0004cb50(0);" (assignment_expression "uVar10 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);" (assignment_expression "uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5)" identifier = (call_expression "dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5)" identifier (argument_list "(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5)" ( number_literal , (string_literal ""CU at offset %s contains corrupt or unsupported unit type: %d.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar14,uVar10,local_b4);" (call_expression "warn(uVar14,uVar10,local_b4)" identifier (argument_list "(uVar14,uVar10,local_b4)" ( identifier , identifier , identifier ))) ;) }))) }) (else_clause "else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }" else (compound_statement "{\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }" { (expression_statement "uVar10 = FUN_0004cb50(0);" (assignment_expression "uVar10 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);" (assignment_expression "uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5)" identifier = (call_expression "dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5)" identifier (argument_list "(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5)" ( number_literal , (string_literal ""CU at offset %s contains corrupt or unsupported version number: %d.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar14,uVar10,local_e2);" (call_expression "warn(uVar14,uVar10,local_e2)" identifier (argument_list "(uVar14,uVar10,local_e2)" ( identifier , identifier , identifier ))) ;) }))) }))) (labeled_statement "LAB_00056ae6:\n        local_a4 = local_a4 + 1;" statement_identifier : (expression_statement "local_a4 = local_a4 + 1;" (assignment_expression "local_a4 = local_a4 + 1" identifier = (binary_expression "local_a4 + 1" identifier + number_literal)) ;)) }) while (parenthesized_expression "(local_f4 < pcVar25)" ( (binary_expression "local_f4 < pcVar25" identifier < identifier) )) ;) (if_statement "if (param_4 != 0) goto LAB_00057752;" if (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00057752;" goto statement_identifier ;)) })) (if_statement "if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0))\n    goto LAB_00056b59;" if (parenthesized_expression "((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0))" ( (binary_expression "(DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0)" (parenthesized_expression "(DAT_000b9d90 == 0 && DAT_000b9db4 == 0)" ( (binary_expression "DAT_000b9d90 == 0 && DAT_000b9db4 == 0" (binary_expression "DAT_000b9d90 == 0" identifier == number_literal) && (binary_expression "DAT_000b9db4 == 0" identifier == number_literal)) )) || (parenthesized_expression "(param_5 != 0 || DAT_000b9d6c != 0)" ( (binary_expression "param_5 != 0 || DAT_000b9d6c != 0" (binary_expression "param_5 != 0" identifier != number_literal) || (binary_expression "DAT_000b9d6c != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_00056b59;" goto statement_identifier ;)) }) (else_clause "else {\n    if (param_5 == 0 && DAT_000b9d6c == 0) goto LAB_00056b86;\n    FUN_0004e130();\n    if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n    local_90 = 0;\n    if (pcVar15 < pcVar25) goto LAB_0005662b;\nLAB_00057752:\n    if (param_5 != 0 || DAT_000b9d6c != 0) {\n      return 1;\n    }\n  }" else (compound_statement "{\n    if (param_5 == 0 && DAT_000b9d6c == 0) goto LAB_00056b86;\n    FUN_0004e130();\n    if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n    local_90 = 0;\n    if (pcVar15 < pcVar25) goto LAB_0005662b;\nLAB_00057752:\n    if (param_5 != 0 || DAT_000b9d6c != 0) {\n      return 1;\n    }\n  }" { (if_statement "if (param_5 == 0 && DAT_000b9d6c == 0) goto LAB_00056b86;" if (parenthesized_expression "(param_5 == 0 && DAT_000b9d6c == 0)" ( (binary_expression "param_5 == 0 && DAT_000b9d6c == 0" (binary_expression "param_5 == 0" identifier == number_literal) && (binary_expression "DAT_000b9d6c == 0" identifier == number_literal)) )) (goto_statement "goto LAB_00056b86;" goto statement_identifier ;)) (expression_statement "FUN_0004e130();" (call_expression "FUN_0004e130()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;" if (parenthesized_expression "(*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0)" ( (binary_expression "*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0" (pointer_expression "*(int *)(&DAT_000b4850 + param_3 * 0x40)" * (cast_expression "(int *)(&DAT_000b4850 + param_3 * 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_000b4850 + param_3 * 0x40)" ( (binary_expression "&DAT_000b4850 + param_3 * 0x40" (pointer_expression "&DAT_000b4850" & identifier) + (binary_expression "param_3 * 0x40" identifier * number_literal)) )))) == number_literal) )) (goto_statement "goto LAB_00057bf6;" goto statement_identifier ;)) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (if_statement "if (pcVar15 < pcVar25) goto LAB_0005662b;" if (parenthesized_expression "(pcVar15 < pcVar25)" ( (binary_expression "pcVar15 < pcVar25" identifier < identifier) )) (goto_statement "goto LAB_0005662b;" goto statement_identifier ;)) (labeled_statement "LAB_00057752:\n    if (param_5 != 0 || DAT_000b9d6c != 0) {\n      return 1;\n    }" statement_identifier : (if_statement "if (param_5 != 0 || DAT_000b9d6c != 0) {\n      return 1;\n    }" if (parenthesized_expression "(param_5 != 0 || DAT_000b9d6c != 0)" ( (binary_expression "param_5 != 0 || DAT_000b9d6c != 0" (binary_expression "param_5 != 0" identifier != number_literal) || (binary_expression "DAT_000b9d6c != 0" identifier != number_literal)) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) }))) }))) (expression_statement "DAT_000b9d6c = DAT_000b9d68;" (assignment_expression "DAT_000b9d6c = DAT_000b9d68" identifier = identifier) ;) (if_statement "if (local_90 <= DAT_000b9d68) {\n    DAT_000b9d6c = local_90;\n  }" if (parenthesized_expression "(local_90 <= DAT_000b9d68)" ( (binary_expression "local_90 <= DAT_000b9d68" identifier <= identifier) )) (compound_statement "{\n    DAT_000b9d6c = local_90;\n  }" { (expression_statement "DAT_000b9d6c = local_90;" (assignment_expression "DAT_000b9d6c = local_90" identifier = identifier) ;) })) (if_statement "if (param_4 != 0) {\n    return 1;\n  }" if (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) )) (compound_statement "{\n    return 1;\n  }" { (return_statement "return 1;" return number_literal ;) })) (labeled_statement "LAB_00056b59:\n  putchar(10);" statement_identifier : (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;)) (return_statement "return 1;" return number_literal ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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 (pointer_declarator * 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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression 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 = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression IDENT == LIT)) )) || (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (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 , IDENT ))) ;) (return_statement return LIT ;) })) (do_statement do (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 = (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 ;)) (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 )))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , LIT )))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (return_statement return LIT ;) })) (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 { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < 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))) ))) )) (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 = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT < IDENT) || (binary_expression IDENT < LIT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ))) <= (binary_expression (parenthesized_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 )))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) || (binary_expression IDENT < IDENT))) ;) }))) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_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 < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT * LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (binary_expression IDENT * LIT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression IDENT * LIT)) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression IDENT * LIT)) )))) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (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 ))) ;) (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_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 )))) ;)) (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) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto 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 ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (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 < 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))) ))) )) (goto_statement goto statement_identifier ;)))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;)) }) (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) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = 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 = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (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 = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (for_statement for ( ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) ))))) && (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) )))))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression 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)) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression IDENT * LIT)) ))))) ;) }) (else_clause else (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) ;) (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 = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < 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 IDENT - LIT) < LIT)) ))) )) ))) )) (compound_statement { (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 ( IDENT , IDENT )))) ;) (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 ( (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) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (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 = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (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 = (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 (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;)) (goto_statement goto statement_identifier ;) })) (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) ;) (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 , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) )))) )) (goto_statement goto statement_identifier ;))) }))) (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) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression 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 ( (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) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (call_expression IDENT (argument_list ( IDENT , IDENT )))) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + IDENT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != LIT)) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (labeled_statement statement_identifier : (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 (binary_expression IDENT * LIT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression 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 ))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (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 ))) ;) (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) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (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 ))) ;) (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 { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , 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 ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (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 ))) ;) })) (if_statement if (parenthesized_expression ( (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 ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (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 ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (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 ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (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 ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (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 ))) ;) })) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < (parenthesized_expression ( (binary_expression IDENT < IDENT) ))) )) || (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) )))) < IDENT) ))))) ))) )) (compound_statement { (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 = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (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 (pointer_expression & IDENT) + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression IDENT * LIT)) )))) < IDENT) || (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression IDENT * LIT)) )))) - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (binary_expression IDENT + IDENT)) ))))) )) (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 , (binary_expression IDENT + IDENT) , IDENT ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))) }) (else_clause else (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 , IDENT ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_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 IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression IDENT == IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (while_statement while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (break_statement break ;)))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression IDENT <= IDENT) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression LIT < IDENT) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (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 , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (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 ))) ;) })) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression IDENT <= IDENT) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT < IDENT) ))) )) (compound_statement { (return_statement return LIT ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT == LIT) || (binary_expression IDENT < IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) || (binary_expression IDENT < IDENT)) )) (compound_statement { (expression_statement (assignment_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 , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (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 (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (return_statement return LIT ;) }))) (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 *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_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 = IDENT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_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 (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression IDENT <= IDENT) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) )))) , (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 *)) ) (subscript_expression IDENT [ LIT ]))) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) , (binary_expression (pointer_expression * IDENT) != LIT)) ))) )) (compound_statement { (labeled_statement statement_identifier : (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression IDENT == LIT)) )) (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 *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , LIT , IDENT , LIT , IDENT , IDENT , LIT , IDENT , IDENT , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , LIT , IDENT , LIT , IDENT , IDENT , LIT , IDENT , IDENT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }))) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) ))) )) ;)) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) )) (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 *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (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 (binary_expression IDENT - IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - IDENT) != LIT) )) (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 = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + LIT)) ;) })))) })) }))) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))))) ;) }))) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( 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 , IDENT ))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( 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 , IDENT ))) ;) }))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression IDENT == LIT)) )) || (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != LIT)) ))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression IDENT == LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression IDENT * LIT)) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != LIT)) )) (compound_statement { (return_statement return LIT ;) }))) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return LIT ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;)) (return_statement return LIT ;) })))
(function_definition "undefined4 __regparm3\nFUN_00056530(int param_1,undefined4 param_2,int param_3,int param_4,uint param_5)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined *puVar3;\n  longlong lVar4;\n  undefined8 uVar5;\n  byte bVar6;\n  int iVar7;\n  uint uVar8;\n  uint uVar9;\n  undefined4 uVar10;\n  uint uVar11;\n  uint *puVar12;\n  uint uVar13;\n  undefined4 uVar14;\n  char *pcVar15;\n  char *pcVar16;\n  char *pcVar17;\n  char *pcVar18;\n  void *pvVar19;\n  undefined4 uVar20;\n  bool bVar21;\n  int iVar22;\n  uint uVar23;\n  int *piVar24;\n  char *pcVar25;\n  int iVar26;\n  undefined8 uVar27;\n  longlong lVar28;\n  char *local_f4;\n  uint local_f0;\n  int local_ec;\n  ushort local_e2;\n  int local_d4;\n  undefined4 local_cc;\n  int local_b4;\n  uint local_b0;\n  uint local_ac;\n  uint local_a4;\n  uint local_a0;\n  uint local_9c;\n  int local_98;\n  uint local_90;\n  int local_78;\n  int local_70;\n  undefined4 local_6c;\n  undefined4 local_68;\n  undefined4 local_64;\n  undefined4 local_60;\n  int local_5c [18];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x5653b;\n  pcVar15 = *(char **)(param_1 + 0x10);\n  pcVar25 = pcVar15 + *(int *)(param_1 + 0x1c);\n  if (param_4 == 0) {\n    if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0)) {\n      local_90 = 0;\n    }\n    else {\nLAB_00056b86:\n      local_90 = 0;\n      pcVar18 = pcVar15;\n      if (pcVar25 <= pcVar15) {\nLAB_00057e2b:\n        uVar10 = *(undefined4 *)(param_1 + 8);\n        uVar14 = dcgettext(0,"No comp units in %s section ?\n",5);\n        error(uVar14,uVar10);\n        return 0;\n      }\n      do {\n        pcVar17 = pcVar18 + 4;\n        if (pcVar25 <= pcVar17) {\n          iVar7 = (int)pcVar25 - (int)pcVar18;\n          if (iVar7 - 1U < 8) goto LAB_000570ed;\nLAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);\n          uVar14 = FUN_0004cb50(0);\n          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);\n          warn(uVar20,uVar14,uVar10);\n          return 0;\n        }\n        iVar7 = 4;\nLAB_000570ed:\n        lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n        if (lVar28 == 0xffffffff) {\n          if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;\n          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);\n          pcVar18 = pcVar18 + iVar7 + 0xc;\n          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;\n        }\n        else {\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }\n        if (bVar21) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      } while (pcVar18 < pcVar25);\n      if (local_90 == 0) goto LAB_00057e2b;\n      if (0x3333332 < local_90) {\n        DAT_000b9d64 = (void *)0x0;\n        uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(uVar10,local_90);\n        DAT_000b9d68 = 0;\n        DAT_000b9d6c = 0;\n        return 0;\n      }\n      DAT_000b9d64 = (void *)FUN_0006b190(local_90 * 0x50);\n      memset(DAT_000b9d64,0,local_90 * 0x50);\n      DAT_000b9d68 = local_90;\n      if (param_4 != 0) {\n        FUN_0004e130();\n        if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n        param_5 = 0;\n        goto LAB_0005662b;\n      }\n    }\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) {\nLAB_00057bf6:\n      puVar3 = (&PTR_s__debug_abbrev_000b4840)[param_3 * 0x10];\n      uVar10 = dcgettext(0,"Unable to locate %s section!\n",5);\n      warn(uVar10,puVar3);\n      return 0;\n    }\n    if (DAT_000b9dd4 == 0) {\n      FUN_0004eb80();\n    }\n    if (pcVar15 < pcVar25) {\nLAB_0005662b:\n      local_a4 = 0;\n      local_f4 = pcVar15;\n      do {\n        local_6c = 0;\n        local_68 = 0;\n        local_64 = 0;\n        pcVar18 = local_f4 + 4;\n        local_60 = 0;\n        pcVar17 = pcVar18;\n        if (pcVar18 < pcVar25) {\n          iVar7 = 4;\nLAB_00056d25:\n          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);\n          if (lVar28 == 0xffffffff) {\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }\n          else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;\nLAB_000566e9:\n          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);\n        }\n        else {\n          iVar7 = (int)pcVar25 - (int)local_f4;\n          if (iVar7 - 1U < 8) goto LAB_00056d25;\n          local_cc = 4;\n          pcVar16 = local_f4 + 6;\n          local_d4 = 4;\n          local_f0 = 4;\njoined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }\n          lVar28 = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }\n        local_ec = (int)lVar28;\n        uVar8 = (int)local_f4 - (int)pcVar15;\n        uVar9 = (int)uVar8 >> 0x1f;\n        if (param_5 == 0) {\n          iVar22 = 1;\n          iVar7 = DAT_000b9d34;\n          iVar26 = DAT_000b9d2c;\n        }\n        else {\n          iVar22 = 2;\n          iVar7 = DAT_000b9d30;\n          iVar26 = DAT_000b9d28;\n        }\n        for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;\n          iVar26 = iVar26 + 0x68;\n        }\n        iVar26 = 0;\njoined_r0x0005676e:\n        uVar13 = local_f0;\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar6 = 0xff;\njoined_r0x000567df:\n          pcVar18 = pcVar16 + local_f0;\n          if ((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))\n          goto LAB_00056caa;\nLAB_000567f7:\n          uVar27 = 0;\n          uVar5 = 0;\n          if (iVar26 != 0) goto LAB_0005680f;\nLAB_00056cce:\n          uVar27 = uVar5;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n        }\n        else {\n          pcVar18 = pcVar17 + 3;\n          if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }\n          pcVar16 = pcVar17 + 4;\n          bVar6 = 0;\n          pcVar18 = pcVar16 + local_f0;\n          if (pcVar25 <= pcVar18) goto LAB_000567f7;\nLAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);\n          uVar5 = uVar27;\n          if (iVar26 == 0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);\n          local_98 = *(int *)(iVar26 + 0x24);\n          local_ac = *(uint *)(iVar26 + 0x54);\n        }\n        local_a0 = (uint)((ulonglong)uVar27 >> 0x20);\n        local_b0 = (uint)uVar27;\n        pcVar17 = pcVar18;\n        if (local_e2 < 5) {\n          pcVar17 = pcVar18 + 1;\n          if (pcVar17 < pcVar25) {\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }\n          if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))\n          goto LAB_00056c35;\n          bVar6 = 0;\nLAB_00056853:\n          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;\n          warn(uVar10,bVar6,local_f0);\n          bVar6 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;\n        }\n        if (param_5 != 0) {\n          pcVar18 = pcVar17 + 8;\n          if (pcVar25 < pcVar18) {\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }\n          else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }\n          pcVar17 = pcVar18 + local_f0;\n          uVar13 = local_f0;\n          if ((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }\n        }\n        uVar13 = DAT_000b9dd4;\n        uVar11 = local_d4 + uVar8;\n        lVar4 = lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8;\n        if ((uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4)) {\n          local_f4 = pcVar15 + uVar11 + local_ec;\n        }\n        else {\n          if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);\n          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);\n          if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + local_d4 + local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }\n        }\nLAB_00056ae6:\n        local_a4 = local_a4 + 1;\n      } while (local_f4 < pcVar25);\n      if (param_4 != 0) goto LAB_00057752;\n    }\n    if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0))\n    goto LAB_00056b59;\n  }\n  else {\n    if (param_5 == 0 && DAT_000b9d6c == 0) goto LAB_00056b86;\n    FUN_0004e130();\n    if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n    local_90 = 0;\n    if (pcVar15 < pcVar25) goto LAB_0005662b;\nLAB_00057752:\n    if (param_5 != 0 || DAT_000b9d6c != 0) {\n      return 1;\n    }\n  }\n  DAT_000b9d6c = DAT_000b9d68;\n  if (local_90 <= DAT_000b9d68) {\n    DAT_000b9d6c = local_90;\n  }\n  if (param_4 != 0) {\n    return 1;\n  }\nLAB_00056b59:\n  putchar(10);\n  return 1;\n}" (type_identifier "undefined4") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_00056530(int param_1,undefined4 param_2,int param_3,int param_4,uint param_5)" (identifier "FUN_00056530") (parameter_list "(int param_1,undefined4 param_2,int param_3,int param_4,uint param_5)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "int param_4" (primitive_type "int") (identifier "param_4")) (, ",") (parameter_declaration "uint param_5" (type_identifier "uint") (identifier "param_5")) () ")"))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  undefined *puVar3;\n  longlong lVar4;\n  undefined8 uVar5;\n  byte bVar6;\n  int iVar7;\n  uint uVar8;\n  uint uVar9;\n  undefined4 uVar10;\n  uint uVar11;\n  uint *puVar12;\n  uint uVar13;\n  undefined4 uVar14;\n  char *pcVar15;\n  char *pcVar16;\n  char *pcVar17;\n  char *pcVar18;\n  void *pvVar19;\n  undefined4 uVar20;\n  bool bVar21;\n  int iVar22;\n  uint uVar23;\n  int *piVar24;\n  char *pcVar25;\n  int iVar26;\n  undefined8 uVar27;\n  longlong lVar28;\n  char *local_f4;\n  uint local_f0;\n  int local_ec;\n  ushort local_e2;\n  int local_d4;\n  undefined4 local_cc;\n  int local_b4;\n  uint local_b0;\n  uint local_ac;\n  uint local_a4;\n  uint local_a0;\n  uint local_9c;\n  int local_98;\n  uint local_90;\n  int local_78;\n  int local_70;\n  undefined4 local_6c;\n  undefined4 local_68;\n  undefined4 local_64;\n  undefined4 local_60;\n  int local_5c [18];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x5653b;\n  pcVar15 = *(char **)(param_1 + 0x10);\n  pcVar25 = pcVar15 + *(int *)(param_1 + 0x1c);\n  if (param_4 == 0) {\n    if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0)) {\n      local_90 = 0;\n    }\n    else {\nLAB_00056b86:\n      local_90 = 0;\n      pcVar18 = pcVar15;\n      if (pcVar25 <= pcVar15) {\nLAB_00057e2b:\n        uVar10 = *(undefined4 *)(param_1 + 8);\n        uVar14 = dcgettext(0,"No comp units in %s section ?\n",5);\n        error(uVar14,uVar10);\n        return 0;\n      }\n      do {\n        pcVar17 = pcVar18 + 4;\n        if (pcVar25 <= pcVar17) {\n          iVar7 = (int)pcVar25 - (int)pcVar18;\n          if (iVar7 - 1U < 8) goto LAB_000570ed;\nLAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);\n          uVar14 = FUN_0004cb50(0);\n          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);\n          warn(uVar20,uVar14,uVar10);\n          return 0;\n        }\n        iVar7 = 4;\nLAB_000570ed:\n        lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n        if (lVar28 == 0xffffffff) {\n          if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;\n          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);\n          pcVar18 = pcVar18 + iVar7 + 0xc;\n          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;\n        }\n        else {\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }\n        if (bVar21) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      } while (pcVar18 < pcVar25);\n      if (local_90 == 0) goto LAB_00057e2b;\n      if (0x3333332 < local_90) {\n        DAT_000b9d64 = (void *)0x0;\n        uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(uVar10,local_90);\n        DAT_000b9d68 = 0;\n        DAT_000b9d6c = 0;\n        return 0;\n      }\n      DAT_000b9d64 = (void *)FUN_0006b190(local_90 * 0x50);\n      memset(DAT_000b9d64,0,local_90 * 0x50);\n      DAT_000b9d68 = local_90;\n      if (param_4 != 0) {\n        FUN_0004e130();\n        if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n        param_5 = 0;\n        goto LAB_0005662b;\n      }\n    }\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) {\nLAB_00057bf6:\n      puVar3 = (&PTR_s__debug_abbrev_000b4840)[param_3 * 0x10];\n      uVar10 = dcgettext(0,"Unable to locate %s section!\n",5);\n      warn(uVar10,puVar3);\n      return 0;\n    }\n    if (DAT_000b9dd4 == 0) {\n      FUN_0004eb80();\n    }\n    if (pcVar15 < pcVar25) {\nLAB_0005662b:\n      local_a4 = 0;\n      local_f4 = pcVar15;\n      do {\n        local_6c = 0;\n        local_68 = 0;\n        local_64 = 0;\n        pcVar18 = local_f4 + 4;\n        local_60 = 0;\n        pcVar17 = pcVar18;\n        if (pcVar18 < pcVar25) {\n          iVar7 = 4;\nLAB_00056d25:\n          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);\n          if (lVar28 == 0xffffffff) {\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }\n          else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;\nLAB_000566e9:\n          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);\n        }\n        else {\n          iVar7 = (int)pcVar25 - (int)local_f4;\n          if (iVar7 - 1U < 8) goto LAB_00056d25;\n          local_cc = 4;\n          pcVar16 = local_f4 + 6;\n          local_d4 = 4;\n          local_f0 = 4;\njoined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }\n          lVar28 = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }\n        local_ec = (int)lVar28;\n        uVar8 = (int)local_f4 - (int)pcVar15;\n        uVar9 = (int)uVar8 >> 0x1f;\n        if (param_5 == 0) {\n          iVar22 = 1;\n          iVar7 = DAT_000b9d34;\n          iVar26 = DAT_000b9d2c;\n        }\n        else {\n          iVar22 = 2;\n          iVar7 = DAT_000b9d30;\n          iVar26 = DAT_000b9d28;\n        }\n        for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;\n          iVar26 = iVar26 + 0x68;\n        }\n        iVar26 = 0;\njoined_r0x0005676e:\n        uVar13 = local_f0;\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar6 = 0xff;\njoined_r0x000567df:\n          pcVar18 = pcVar16 + local_f0;\n          if ((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))\n          goto LAB_00056caa;\nLAB_000567f7:\n          uVar27 = 0;\n          uVar5 = 0;\n          if (iVar26 != 0) goto LAB_0005680f;\nLAB_00056cce:\n          uVar27 = uVar5;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n        }\n        else {\n          pcVar18 = pcVar17 + 3;\n          if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }\n          pcVar16 = pcVar17 + 4;\n          bVar6 = 0;\n          pcVar18 = pcVar16 + local_f0;\n          if (pcVar25 <= pcVar18) goto LAB_000567f7;\nLAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);\n          uVar5 = uVar27;\n          if (iVar26 == 0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);\n          local_98 = *(int *)(iVar26 + 0x24);\n          local_ac = *(uint *)(iVar26 + 0x54);\n        }\n        local_a0 = (uint)((ulonglong)uVar27 >> 0x20);\n        local_b0 = (uint)uVar27;\n        pcVar17 = pcVar18;\n        if (local_e2 < 5) {\n          pcVar17 = pcVar18 + 1;\n          if (pcVar17 < pcVar25) {\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }\n          if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))\n          goto LAB_00056c35;\n          bVar6 = 0;\nLAB_00056853:\n          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;\n          warn(uVar10,bVar6,local_f0);\n          bVar6 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;\n        }\n        if (param_5 != 0) {\n          pcVar18 = pcVar17 + 8;\n          if (pcVar25 < pcVar18) {\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }\n          else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }\n          pcVar17 = pcVar18 + local_f0;\n          uVar13 = local_f0;\n          if ((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }\n        }\n        uVar13 = DAT_000b9dd4;\n        uVar11 = local_d4 + uVar8;\n        lVar4 = lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8;\n        if ((uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4)) {\n          local_f4 = pcVar15 + uVar11 + local_ec;\n        }\n        else {\n          if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);\n          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);\n          if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + local_d4 + local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }\n        }\nLAB_00056ae6:\n        local_a4 = local_a4 + 1;\n      } while (local_f4 < pcVar25);\n      if (param_4 != 0) goto LAB_00057752;\n    }\n    if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0))\n    goto LAB_00056b59;\n  }\n  else {\n    if (param_5 == 0 && DAT_000b9d6c == 0) goto LAB_00056b86;\n    FUN_0004e130();\n    if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n    local_90 = 0;\n    if (pcVar15 < pcVar25) goto LAB_0005662b;\nLAB_00057752:\n    if (param_5 != 0 || DAT_000b9d6c != 0) {\n      return 1;\n    }\n  }\n  DAT_000b9d6c = DAT_000b9d68;\n  if (local_90 <= DAT_000b9d68) {\n    DAT_000b9d6c = local_90;\n  }\n  if (param_4 != 0) {\n    return 1;\n  }\nLAB_00056b59:\n  putchar(10);\n  return 1;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "longlong lVar4;" (type_identifier "longlong") (identifier "lVar4") (; ";")) (declaration "undefined8 uVar5;" (type_identifier "undefined8") (identifier "uVar5") (; ";")) (declaration "byte bVar6;" (type_identifier "byte") (identifier "bVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "undefined4 uVar10;" (type_identifier "undefined4") (identifier "uVar10") (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "uint *puVar12;" (type_identifier "uint") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "undefined4 uVar14;" (type_identifier "undefined4") (identifier "uVar14") (; ";")) (declaration "char *pcVar15;" (primitive_type "char") (pointer_declarator "*pcVar15" (* "*") (identifier "pcVar15")) (; ";")) (declaration "char *pcVar16;" (primitive_type "char") (pointer_declarator "*pcVar16" (* "*") (identifier "pcVar16")) (; ";")) (declaration "char *pcVar17;" (primitive_type "char") (pointer_declarator "*pcVar17" (* "*") (identifier "pcVar17")) (; ";")) (declaration "char *pcVar18;" (primitive_type "char") (pointer_declarator "*pcVar18" (* "*") (identifier "pcVar18")) (; ";")) (declaration "void *pvVar19;" (primitive_type "void") (pointer_declarator "*pvVar19" (* "*") (identifier "pvVar19")) (; ";")) (declaration "undefined4 uVar20;" (type_identifier "undefined4") (identifier "uVar20") (; ";")) (declaration "bool bVar21;" (primitive_type "bool") (identifier "bVar21") (; ";")) (declaration "int iVar22;" (primitive_type "int") (identifier "iVar22") (; ";")) (declaration "uint uVar23;" (type_identifier "uint") (identifier "uVar23") (; ";")) (declaration "int *piVar24;" (primitive_type "int") (pointer_declarator "*piVar24" (* "*") (identifier "piVar24")) (; ";")) (declaration "char *pcVar25;" (primitive_type "char") (pointer_declarator "*pcVar25" (* "*") (identifier "pcVar25")) (; ";")) (declaration "int iVar26;" (primitive_type "int") (identifier "iVar26") (; ";")) (declaration "undefined8 uVar27;" (type_identifier "undefined8") (identifier "uVar27") (; ";")) (declaration "longlong lVar28;" (type_identifier "longlong") (identifier "lVar28") (; ";")) (declaration "char *local_f4;" (primitive_type "char") (pointer_declarator "*local_f4" (* "*") (identifier "local_f4")) (; ";")) (declaration "uint local_f0;" (type_identifier "uint") (identifier "local_f0") (; ";")) (declaration "int local_ec;" (primitive_type "int") (identifier "local_ec") (; ";")) (declaration "ushort local_e2;" (type_identifier "ushort") (identifier "local_e2") (; ";")) (declaration "int local_d4;" (primitive_type "int") (identifier "local_d4") (; ";")) (declaration "undefined4 local_cc;" (type_identifier "undefined4") (identifier "local_cc") (; ";")) (declaration "int local_b4;" (primitive_type "int") (identifier "local_b4") (; ";")) (declaration "uint local_b0;" (type_identifier "uint") (identifier "local_b0") (; ";")) (declaration "uint local_ac;" (type_identifier "uint") (identifier "local_ac") (; ";")) (declaration "uint local_a4;" (type_identifier "uint") (identifier "local_a4") (; ";")) (declaration "uint local_a0;" (type_identifier "uint") (identifier "local_a0") (; ";")) (declaration "uint local_9c;" (type_identifier "uint") (identifier "local_9c") (; ";")) (declaration "int local_98;" (primitive_type "int") (identifier "local_98") (; ";")) (declaration "uint local_90;" (type_identifier "uint") (identifier "local_90") (; ";")) (declaration "int local_78;" (primitive_type "int") (identifier "local_78") (; ";")) (declaration "int local_70;" (primitive_type "int") (identifier "local_70") (; ";")) (declaration "undefined4 local_6c;" (type_identifier "undefined4") (identifier "local_6c") (; ";")) (declaration "undefined4 local_68;" (type_identifier "undefined4") (identifier "local_68") (; ";")) (declaration "undefined4 local_64;" (type_identifier "undefined4") (identifier "local_64") (; ";")) (declaration "undefined4 local_60;" (type_identifier "undefined4") (identifier "local_60") (; ";")) (declaration "int local_5c [18];" (primitive_type "int") (array_declarator "local_5c [18]" (identifier "local_5c") ([ "[") (number_literal "18") (] "]")) (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x5653b;" (assignment_expression "uStack_14 = 0x5653b" (identifier "uStack_14") (= "=") (number_literal "0x5653b")) (; ";")) (expression_statement "pcVar15 = *(char **)(param_1 + 0x10);" (assignment_expression "pcVar15 = *(char **)(param_1 + 0x10)" (identifier "pcVar15") (= "=") (pointer_expression "*(char **)(param_1 + 0x10)" (* "*") (cast_expression "(char **)(param_1 + 0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "pcVar25 = pcVar15 + *(int *)(param_1 + 0x1c);" (assignment_expression "pcVar25 = pcVar15 + *(int *)(param_1 + 0x1c)" (identifier "pcVar25") (= "=") (binary_expression "pcVar15 + *(int *)(param_1 + 0x1c)" (identifier "pcVar15") (+ "+") (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")) () ")")))))) (; ";")) (if_statement "if (param_4 == 0) {\n    if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0)) {\n      local_90 = 0;\n    }\n    else {\nLAB_00056b86:\n      local_90 = 0;\n      pcVar18 = pcVar15;\n      if (pcVar25 <= pcVar15) {\nLAB_00057e2b:\n        uVar10 = *(undefined4 *)(param_1 + 8);\n        uVar14 = dcgettext(0,"No comp units in %s section ?\n",5);\n        error(uVar14,uVar10);\n        return 0;\n      }\n      do {\n        pcVar17 = pcVar18 + 4;\n        if (pcVar25 <= pcVar17) {\n          iVar7 = (int)pcVar25 - (int)pcVar18;\n          if (iVar7 - 1U < 8) goto LAB_000570ed;\nLAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);\n          uVar14 = FUN_0004cb50(0);\n          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);\n          warn(uVar20,uVar14,uVar10);\n          return 0;\n        }\n        iVar7 = 4;\nLAB_000570ed:\n        lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n        if (lVar28 == 0xffffffff) {\n          if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;\n          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);\n          pcVar18 = pcVar18 + iVar7 + 0xc;\n          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;\n        }\n        else {\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }\n        if (bVar21) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      } while (pcVar18 < pcVar25);\n      if (local_90 == 0) goto LAB_00057e2b;\n      if (0x3333332 < local_90) {\n        DAT_000b9d64 = (void *)0x0;\n        uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(uVar10,local_90);\n        DAT_000b9d68 = 0;\n        DAT_000b9d6c = 0;\n        return 0;\n      }\n      DAT_000b9d64 = (void *)FUN_0006b190(local_90 * 0x50);\n      memset(DAT_000b9d64,0,local_90 * 0x50);\n      DAT_000b9d68 = local_90;\n      if (param_4 != 0) {\n        FUN_0004e130();\n        if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n        param_5 = 0;\n        goto LAB_0005662b;\n      }\n    }\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) {\nLAB_00057bf6:\n      puVar3 = (&PTR_s__debug_abbrev_000b4840)[param_3 * 0x10];\n      uVar10 = dcgettext(0,"Unable to locate %s section!\n",5);\n      warn(uVar10,puVar3);\n      return 0;\n    }\n    if (DAT_000b9dd4 == 0) {\n      FUN_0004eb80();\n    }\n    if (pcVar15 < pcVar25) {\nLAB_0005662b:\n      local_a4 = 0;\n      local_f4 = pcVar15;\n      do {\n        local_6c = 0;\n        local_68 = 0;\n        local_64 = 0;\n        pcVar18 = local_f4 + 4;\n        local_60 = 0;\n        pcVar17 = pcVar18;\n        if (pcVar18 < pcVar25) {\n          iVar7 = 4;\nLAB_00056d25:\n          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);\n          if (lVar28 == 0xffffffff) {\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }\n          else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;\nLAB_000566e9:\n          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);\n        }\n        else {\n          iVar7 = (int)pcVar25 - (int)local_f4;\n          if (iVar7 - 1U < 8) goto LAB_00056d25;\n          local_cc = 4;\n          pcVar16 = local_f4 + 6;\n          local_d4 = 4;\n          local_f0 = 4;\njoined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }\n          lVar28 = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }\n        local_ec = (int)lVar28;\n        uVar8 = (int)local_f4 - (int)pcVar15;\n        uVar9 = (int)uVar8 >> 0x1f;\n        if (param_5 == 0) {\n          iVar22 = 1;\n          iVar7 = DAT_000b9d34;\n          iVar26 = DAT_000b9d2c;\n        }\n        else {\n          iVar22 = 2;\n          iVar7 = DAT_000b9d30;\n          iVar26 = DAT_000b9d28;\n        }\n        for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;\n          iVar26 = iVar26 + 0x68;\n        }\n        iVar26 = 0;\njoined_r0x0005676e:\n        uVar13 = local_f0;\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar6 = 0xff;\njoined_r0x000567df:\n          pcVar18 = pcVar16 + local_f0;\n          if ((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))\n          goto LAB_00056caa;\nLAB_000567f7:\n          uVar27 = 0;\n          uVar5 = 0;\n          if (iVar26 != 0) goto LAB_0005680f;\nLAB_00056cce:\n          uVar27 = uVar5;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n        }\n        else {\n          pcVar18 = pcVar17 + 3;\n          if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }\n          pcVar16 = pcVar17 + 4;\n          bVar6 = 0;\n          pcVar18 = pcVar16 + local_f0;\n          if (pcVar25 <= pcVar18) goto LAB_000567f7;\nLAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);\n          uVar5 = uVar27;\n          if (iVar26 == 0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);\n          local_98 = *(int *)(iVar26 + 0x24);\n          local_ac = *(uint *)(iVar26 + 0x54);\n        }\n        local_a0 = (uint)((ulonglong)uVar27 >> 0x20);\n        local_b0 = (uint)uVar27;\n        pcVar17 = pcVar18;\n        if (local_e2 < 5) {\n          pcVar17 = pcVar18 + 1;\n          if (pcVar17 < pcVar25) {\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }\n          if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))\n          goto LAB_00056c35;\n          bVar6 = 0;\nLAB_00056853:\n          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;\n          warn(uVar10,bVar6,local_f0);\n          bVar6 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;\n        }\n        if (param_5 != 0) {\n          pcVar18 = pcVar17 + 8;\n          if (pcVar25 < pcVar18) {\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }\n          else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }\n          pcVar17 = pcVar18 + local_f0;\n          uVar13 = local_f0;\n          if ((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }\n        }\n        uVar13 = DAT_000b9dd4;\n        uVar11 = local_d4 + uVar8;\n        lVar4 = lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8;\n        if ((uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4)) {\n          local_f4 = pcVar15 + uVar11 + local_ec;\n        }\n        else {\n          if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);\n          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);\n          if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + local_d4 + local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }\n        }\nLAB_00056ae6:\n        local_a4 = local_a4 + 1;\n      } while (local_f4 < pcVar25);\n      if (param_4 != 0) goto LAB_00057752;\n    }\n    if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0))\n    goto LAB_00056b59;\n  }\n  else {\n    if (param_5 == 0 && DAT_000b9d6c == 0) goto LAB_00056b86;\n    FUN_0004e130();\n    if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n    local_90 = 0;\n    if (pcVar15 < pcVar25) goto LAB_0005662b;\nLAB_00057752:\n    if (param_5 != 0 || DAT_000b9d6c != 0) {\n      return 1;\n    }\n  }" (if "if") (parenthesized_expression "(param_4 == 0)" (( "(") (binary_expression "param_4 == 0" (identifier "param_4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0)) {\n      local_90 = 0;\n    }\n    else {\nLAB_00056b86:\n      local_90 = 0;\n      pcVar18 = pcVar15;\n      if (pcVar25 <= pcVar15) {\nLAB_00057e2b:\n        uVar10 = *(undefined4 *)(param_1 + 8);\n        uVar14 = dcgettext(0,"No comp units in %s section ?\n",5);\n        error(uVar14,uVar10);\n        return 0;\n      }\n      do {\n        pcVar17 = pcVar18 + 4;\n        if (pcVar25 <= pcVar17) {\n          iVar7 = (int)pcVar25 - (int)pcVar18;\n          if (iVar7 - 1U < 8) goto LAB_000570ed;\nLAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);\n          uVar14 = FUN_0004cb50(0);\n          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);\n          warn(uVar20,uVar14,uVar10);\n          return 0;\n        }\n        iVar7 = 4;\nLAB_000570ed:\n        lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n        if (lVar28 == 0xffffffff) {\n          if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;\n          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);\n          pcVar18 = pcVar18 + iVar7 + 0xc;\n          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;\n        }\n        else {\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }\n        if (bVar21) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      } while (pcVar18 < pcVar25);\n      if (local_90 == 0) goto LAB_00057e2b;\n      if (0x3333332 < local_90) {\n        DAT_000b9d64 = (void *)0x0;\n        uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(uVar10,local_90);\n        DAT_000b9d68 = 0;\n        DAT_000b9d6c = 0;\n        return 0;\n      }\n      DAT_000b9d64 = (void *)FUN_0006b190(local_90 * 0x50);\n      memset(DAT_000b9d64,0,local_90 * 0x50);\n      DAT_000b9d68 = local_90;\n      if (param_4 != 0) {\n        FUN_0004e130();\n        if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n        param_5 = 0;\n        goto LAB_0005662b;\n      }\n    }\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    FUN_0004e130();\n    if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) {\nLAB_00057bf6:\n      puVar3 = (&PTR_s__debug_abbrev_000b4840)[param_3 * 0x10];\n      uVar10 = dcgettext(0,"Unable to locate %s section!\n",5);\n      warn(uVar10,puVar3);\n      return 0;\n    }\n    if (DAT_000b9dd4 == 0) {\n      FUN_0004eb80();\n    }\n    if (pcVar15 < pcVar25) {\nLAB_0005662b:\n      local_a4 = 0;\n      local_f4 = pcVar15;\n      do {\n        local_6c = 0;\n        local_68 = 0;\n        local_64 = 0;\n        pcVar18 = local_f4 + 4;\n        local_60 = 0;\n        pcVar17 = pcVar18;\n        if (pcVar18 < pcVar25) {\n          iVar7 = 4;\nLAB_00056d25:\n          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);\n          if (lVar28 == 0xffffffff) {\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }\n          else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;\nLAB_000566e9:\n          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);\n        }\n        else {\n          iVar7 = (int)pcVar25 - (int)local_f4;\n          if (iVar7 - 1U < 8) goto LAB_00056d25;\n          local_cc = 4;\n          pcVar16 = local_f4 + 6;\n          local_d4 = 4;\n          local_f0 = 4;\njoined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }\n          lVar28 = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }\n        local_ec = (int)lVar28;\n        uVar8 = (int)local_f4 - (int)pcVar15;\n        uVar9 = (int)uVar8 >> 0x1f;\n        if (param_5 == 0) {\n          iVar22 = 1;\n          iVar7 = DAT_000b9d34;\n          iVar26 = DAT_000b9d2c;\n        }\n        else {\n          iVar22 = 2;\n          iVar7 = DAT_000b9d30;\n          iVar26 = DAT_000b9d28;\n        }\n        for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;\n          iVar26 = iVar26 + 0x68;\n        }\n        iVar26 = 0;\njoined_r0x0005676e:\n        uVar13 = local_f0;\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar6 = 0xff;\njoined_r0x000567df:\n          pcVar18 = pcVar16 + local_f0;\n          if ((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))\n          goto LAB_00056caa;\nLAB_000567f7:\n          uVar27 = 0;\n          uVar5 = 0;\n          if (iVar26 != 0) goto LAB_0005680f;\nLAB_00056cce:\n          uVar27 = uVar5;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n        }\n        else {\n          pcVar18 = pcVar17 + 3;\n          if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }\n          pcVar16 = pcVar17 + 4;\n          bVar6 = 0;\n          pcVar18 = pcVar16 + local_f0;\n          if (pcVar25 <= pcVar18) goto LAB_000567f7;\nLAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);\n          uVar5 = uVar27;\n          if (iVar26 == 0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);\n          local_98 = *(int *)(iVar26 + 0x24);\n          local_ac = *(uint *)(iVar26 + 0x54);\n        }\n        local_a0 = (uint)((ulonglong)uVar27 >> 0x20);\n        local_b0 = (uint)uVar27;\n        pcVar17 = pcVar18;\n        if (local_e2 < 5) {\n          pcVar17 = pcVar18 + 1;\n          if (pcVar17 < pcVar25) {\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }\n          if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))\n          goto LAB_00056c35;\n          bVar6 = 0;\nLAB_00056853:\n          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;\n          warn(uVar10,bVar6,local_f0);\n          bVar6 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;\n        }\n        if (param_5 != 0) {\n          pcVar18 = pcVar17 + 8;\n          if (pcVar25 < pcVar18) {\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }\n          else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }\n          pcVar17 = pcVar18 + local_f0;\n          uVar13 = local_f0;\n          if ((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }\n        }\n        uVar13 = DAT_000b9dd4;\n        uVar11 = local_d4 + uVar8;\n        lVar4 = lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8;\n        if ((uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4)) {\n          local_f4 = pcVar15 + uVar11 + local_ec;\n        }\n        else {\n          if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);\n          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);\n          if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + local_d4 + local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }\n        }\nLAB_00056ae6:\n        local_a4 = local_a4 + 1;\n      } while (local_f4 < pcVar25);\n      if (param_4 != 0) goto LAB_00057752;\n    }\n    if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0))\n    goto LAB_00056b59;\n  }" ({ "{") (if_statement "if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0)) {\n      local_90 = 0;\n    }\n    else {\nLAB_00056b86:\n      local_90 = 0;\n      pcVar18 = pcVar15;\n      if (pcVar25 <= pcVar15) {\nLAB_00057e2b:\n        uVar10 = *(undefined4 *)(param_1 + 8);\n        uVar14 = dcgettext(0,"No comp units in %s section ?\n",5);\n        error(uVar14,uVar10);\n        return 0;\n      }\n      do {\n        pcVar17 = pcVar18 + 4;\n        if (pcVar25 <= pcVar17) {\n          iVar7 = (int)pcVar25 - (int)pcVar18;\n          if (iVar7 - 1U < 8) goto LAB_000570ed;\nLAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);\n          uVar14 = FUN_0004cb50(0);\n          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);\n          warn(uVar20,uVar14,uVar10);\n          return 0;\n        }\n        iVar7 = 4;\nLAB_000570ed:\n        lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n        if (lVar28 == 0xffffffff) {\n          if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;\n          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);\n          pcVar18 = pcVar18 + iVar7 + 0xc;\n          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;\n        }\n        else {\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }\n        if (bVar21) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      } while (pcVar18 < pcVar25);\n      if (local_90 == 0) goto LAB_00057e2b;\n      if (0x3333332 < local_90) {\n        DAT_000b9d64 = (void *)0x0;\n        uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(uVar10,local_90);\n        DAT_000b9d68 = 0;\n        DAT_000b9d6c = 0;\n        return 0;\n      }\n      DAT_000b9d64 = (void *)FUN_0006b190(local_90 * 0x50);\n      memset(DAT_000b9d64,0,local_90 * 0x50);\n      DAT_000b9d68 = local_90;\n      if (param_4 != 0) {\n        FUN_0004e130();\n        if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n        param_5 = 0;\n        goto LAB_0005662b;\n      }\n    }" (if "if") (parenthesized_expression "((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0))" (( "(") (binary_expression "(DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0)" (parenthesized_expression "(DAT_000b9d90 == 0 && DAT_000b9db4 == 0)" (( "(") (binary_expression "DAT_000b9d90 == 0 && DAT_000b9db4 == 0" (binary_expression "DAT_000b9d90 == 0" (identifier "DAT_000b9d90") (== "==") (number_literal "0")) (&& "&&") (binary_expression "DAT_000b9db4 == 0" (identifier "DAT_000b9db4") (== "==") (number_literal "0"))) () ")")) (|| "||") (parenthesized_expression "(param_5 != 0 || DAT_000b9d6c != 0)" (( "(") (binary_expression "param_5 != 0 || DAT_000b9d6c != 0" (binary_expression "param_5 != 0" (identifier "param_5") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "DAT_000b9d6c != 0" (identifier "DAT_000b9d6c") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n      local_90 = 0;\n    }" ({ "{") (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" (identifier "local_90") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\nLAB_00056b86:\n      local_90 = 0;\n      pcVar18 = pcVar15;\n      if (pcVar25 <= pcVar15) {\nLAB_00057e2b:\n        uVar10 = *(undefined4 *)(param_1 + 8);\n        uVar14 = dcgettext(0,"No comp units in %s section ?\n",5);\n        error(uVar14,uVar10);\n        return 0;\n      }\n      do {\n        pcVar17 = pcVar18 + 4;\n        if (pcVar25 <= pcVar17) {\n          iVar7 = (int)pcVar25 - (int)pcVar18;\n          if (iVar7 - 1U < 8) goto LAB_000570ed;\nLAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);\n          uVar14 = FUN_0004cb50(0);\n          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);\n          warn(uVar20,uVar14,uVar10);\n          return 0;\n        }\n        iVar7 = 4;\nLAB_000570ed:\n        lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n        if (lVar28 == 0xffffffff) {\n          if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;\n          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);\n          pcVar18 = pcVar18 + iVar7 + 0xc;\n          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;\n        }\n        else {\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }\n        if (bVar21) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      } while (pcVar18 < pcVar25);\n      if (local_90 == 0) goto LAB_00057e2b;\n      if (0x3333332 < local_90) {\n        DAT_000b9d64 = (void *)0x0;\n        uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(uVar10,local_90);\n        DAT_000b9d68 = 0;\n        DAT_000b9d6c = 0;\n        return 0;\n      }\n      DAT_000b9d64 = (void *)FUN_0006b190(local_90 * 0x50);\n      memset(DAT_000b9d64,0,local_90 * 0x50);\n      DAT_000b9d68 = local_90;\n      if (param_4 != 0) {\n        FUN_0004e130();\n        if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n        param_5 = 0;\n        goto LAB_0005662b;\n      }\n    }" (else "else") (compound_statement "{\nLAB_00056b86:\n      local_90 = 0;\n      pcVar18 = pcVar15;\n      if (pcVar25 <= pcVar15) {\nLAB_00057e2b:\n        uVar10 = *(undefined4 *)(param_1 + 8);\n        uVar14 = dcgettext(0,"No comp units in %s section ?\n",5);\n        error(uVar14,uVar10);\n        return 0;\n      }\n      do {\n        pcVar17 = pcVar18 + 4;\n        if (pcVar25 <= pcVar17) {\n          iVar7 = (int)pcVar25 - (int)pcVar18;\n          if (iVar7 - 1U < 8) goto LAB_000570ed;\nLAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);\n          uVar14 = FUN_0004cb50(0);\n          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);\n          warn(uVar20,uVar14,uVar10);\n          return 0;\n        }\n        iVar7 = 4;\nLAB_000570ed:\n        lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n        if (lVar28 == 0xffffffff) {\n          if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;\n          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);\n          pcVar18 = pcVar18 + iVar7 + 0xc;\n          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;\n        }\n        else {\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }\n        if (bVar21) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      } while (pcVar18 < pcVar25);\n      if (local_90 == 0) goto LAB_00057e2b;\n      if (0x3333332 < local_90) {\n        DAT_000b9d64 = (void *)0x0;\n        uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(uVar10,local_90);\n        DAT_000b9d68 = 0;\n        DAT_000b9d6c = 0;\n        return 0;\n      }\n      DAT_000b9d64 = (void *)FUN_0006b190(local_90 * 0x50);\n      memset(DAT_000b9d64,0,local_90 * 0x50);\n      DAT_000b9d68 = local_90;\n      if (param_4 != 0) {\n        FUN_0004e130();\n        if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n        param_5 = 0;\n        goto LAB_0005662b;\n      }\n    }" ({ "{") (labeled_statement "LAB_00056b86:\n      local_90 = 0;" (statement_identifier "LAB_00056b86") (: ":") (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" (identifier "local_90") (= "=") (number_literal "0")) (; ";"))) (expression_statement "pcVar18 = pcVar15;" (assignment_expression "pcVar18 = pcVar15" (identifier "pcVar18") (= "=") (identifier "pcVar15")) (; ";")) (if_statement "if (pcVar25 <= pcVar15) {\nLAB_00057e2b:\n        uVar10 = *(undefined4 *)(param_1 + 8);\n        uVar14 = dcgettext(0,"No comp units in %s section ?\n",5);\n        error(uVar14,uVar10);\n        return 0;\n      }" (if "if") (parenthesized_expression "(pcVar25 <= pcVar15)" (( "(") (binary_expression "pcVar25 <= pcVar15" (identifier "pcVar25") (<= "<=") (identifier "pcVar15")) () ")")) (compound_statement "{\nLAB_00057e2b:\n        uVar10 = *(undefined4 *)(param_1 + 8);\n        uVar14 = dcgettext(0,"No comp units in %s section ?\n",5);\n        error(uVar14,uVar10);\n        return 0;\n      }" ({ "{") (labeled_statement "LAB_00057e2b:\n        uVar10 = *(undefined4 *)(param_1 + 8);" (statement_identifier "LAB_00057e2b") (: ":") (expression_statement "uVar10 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar10 = *(undefined4 *)(param_1 + 8)" (identifier "uVar10") (= "=") (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 "uVar14 = dcgettext(0,"No comp units in %s section ?\n",5);" (assignment_expression "uVar14 = dcgettext(0,"No comp units in %s section ?\n",5)" (identifier "uVar14") (= "=") (call_expression "dcgettext(0,"No comp units in %s section ?\n",5)" (identifier "dcgettext") (argument_list "(0,"No comp units in %s section ?\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""No comp units in %s section ?\n"" (" """) (string_content "No comp units in %s section ?") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "error(uVar14,uVar10);" (call_expression "error(uVar14,uVar10)" (identifier "error") (argument_list "(uVar14,uVar10)" (( "(") (identifier "uVar14") (, ",") (identifier "uVar10") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (do_statement "do {\n        pcVar17 = pcVar18 + 4;\n        if (pcVar25 <= pcVar17) {\n          iVar7 = (int)pcVar25 - (int)pcVar18;\n          if (iVar7 - 1U < 8) goto LAB_000570ed;\nLAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);\n          uVar14 = FUN_0004cb50(0);\n          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);\n          warn(uVar20,uVar14,uVar10);\n          return 0;\n        }\n        iVar7 = 4;\nLAB_000570ed:\n        lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n        if (lVar28 == 0xffffffff) {\n          if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;\n          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);\n          pcVar18 = pcVar18 + iVar7 + 0xc;\n          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;\n        }\n        else {\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }\n        if (bVar21) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      } while (pcVar18 < pcVar25);" (do "do") (compound_statement "{\n        pcVar17 = pcVar18 + 4;\n        if (pcVar25 <= pcVar17) {\n          iVar7 = (int)pcVar25 - (int)pcVar18;\n          if (iVar7 - 1U < 8) goto LAB_000570ed;\nLAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);\n          uVar14 = FUN_0004cb50(0);\n          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);\n          warn(uVar20,uVar14,uVar10);\n          return 0;\n        }\n        iVar7 = 4;\nLAB_000570ed:\n        lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n        if (lVar28 == 0xffffffff) {\n          if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;\n          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);\n          pcVar18 = pcVar18 + iVar7 + 0xc;\n          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;\n        }\n        else {\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }\n        if (bVar21) goto LAB_00056bdf;\n        local_90 = local_90 + 1;\n      }" ({ "{") (expression_statement "pcVar17 = pcVar18 + 4;" (assignment_expression "pcVar17 = pcVar18 + 4" (identifier "pcVar17") (= "=") (binary_expression "pcVar18 + 4" (identifier "pcVar18") (+ "+") (number_literal "4"))) (; ";")) (if_statement "if (pcVar25 <= pcVar17) {\n          iVar7 = (int)pcVar25 - (int)pcVar18;\n          if (iVar7 - 1U < 8) goto LAB_000570ed;\nLAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);\n          uVar14 = FUN_0004cb50(0);\n          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);\n          warn(uVar20,uVar14,uVar10);\n          return 0;\n        }" (if "if") (parenthesized_expression "(pcVar25 <= pcVar17)" (( "(") (binary_expression "pcVar25 <= pcVar17" (identifier "pcVar25") (<= "<=") (identifier "pcVar17")) () ")")) (compound_statement "{\n          iVar7 = (int)pcVar25 - (int)pcVar18;\n          if (iVar7 - 1U < 8) goto LAB_000570ed;\nLAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);\n          uVar14 = FUN_0004cb50(0);\n          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";\nLAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);\n          warn(uVar20,uVar14,uVar10);\n          return 0;\n        }" ({ "{") (expression_statement "iVar7 = (int)pcVar25 - (int)pcVar18;" (assignment_expression "iVar7 = (int)pcVar25 - (int)pcVar18" (identifier "iVar7") (= "=") (binary_expression "(int)pcVar25 - (int)pcVar18" (cast_expression "(int)pcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar25")) (- "-") (cast_expression "(int)pcVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar18")))) (; ";")) (if_statement "if (iVar7 - 1U < 8) goto LAB_000570ed;" (if "if") (parenthesized_expression "(iVar7 - 1U < 8)" (( "(") (binary_expression "iVar7 - 1U < 8" (binary_expression "iVar7 - 1U" (identifier "iVar7") (- "-") (number_literal "1U")) (< "<") (number_literal "8")) () ")")) (goto_statement "goto LAB_000570ed;" (goto "goto") (statement_identifier "LAB_000570ed") (; ";"))) (labeled_statement "LAB_00056bdf:\n          uVar10 = *(undefined4 *)(param_1 + 8);" (statement_identifier "LAB_00056bdf") (: ":") (expression_statement "uVar10 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar10 = *(undefined4 *)(param_1 + 8)" (identifier "uVar10") (= "=") (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 "uVar14 = FUN_0004cb50(0);" (assignment_expression "uVar14 = FUN_0004cb50(0)" (identifier "uVar14") (= "=") (call_expression "FUN_0004cb50(0)" (identifier "FUN_0004cb50") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";" (assignment_expression "pcVar15 = "Corrupt unit length (0x%s) found in section %s\n"" (identifier "pcVar15") (= "=") (string_literal ""Corrupt unit length (0x%s) found in section %s\n"" (" """) (string_content "Corrupt unit length (0x%s) found in section %s") (escape_sequence "\n") (" """))) (; ";")) (labeled_statement "LAB_00056c0d:\n          uVar20 = dcgettext(0,pcVar15,5);" (statement_identifier "LAB_00056c0d") (: ":") (expression_statement "uVar20 = dcgettext(0,pcVar15,5);" (assignment_expression "uVar20 = dcgettext(0,pcVar15,5)" (identifier "uVar20") (= "=") (call_expression "dcgettext(0,pcVar15,5)" (identifier "dcgettext") (argument_list "(0,pcVar15,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar15") (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "warn(uVar20,uVar14,uVar10);" (call_expression "warn(uVar20,uVar14,uVar10)" (identifier "warn") (argument_list "(uVar20,uVar14,uVar10)" (( "(") (identifier "uVar20") (, ",") (identifier "uVar14") (, ",") (identifier "uVar10") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "iVar7 = 4;" (assignment_expression "iVar7 = 4" (identifier "iVar7") (= "=") (number_literal "4")) (; ";")) (labeled_statement "LAB_000570ed:\n        lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);" (statement_identifier "LAB_000570ed") (: ":") (expression_statement "lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);" (assignment_expression "lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7)" (identifier "lVar28") (= "=") (call_expression "(*DAT_000b9dd8)(pcVar18,iVar7)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(pcVar18,iVar7)" (( "(") (identifier "pcVar18") (, ",") (identifier "iVar7") () ")")))) (; ";"))) (if_statement "if (lVar28 == 0xffffffff) {\n          if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;\n          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);\n          pcVar18 = pcVar18 + iVar7 + 0xc;\n          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;\n        }\n        else {\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }" (if "if") (parenthesized_expression "(lVar28 == 0xffffffff)" (( "(") (binary_expression "lVar28 == 0xffffffff" (identifier "lVar28") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n          if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;\n          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);\n          pcVar18 = pcVar18 + iVar7 + 0xc;\n          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;\n        }" ({ "{") (if_statement "if (pcVar18 + 0xc < pcVar25) {\n            iVar7 = 8;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;" (if "if") (parenthesized_expression "(pcVar18 + 0xc < pcVar25)" (( "(") (binary_expression "pcVar18 + 0xc < pcVar25" (binary_expression "pcVar18 + 0xc" (identifier "pcVar18") (+ "+") (number_literal "0xc")) (< "<") (identifier "pcVar25")) () ")")) (compound_statement "{\n            iVar7 = 8;\n          }" ({ "{") (expression_statement "iVar7 = 8;" (assignment_expression "iVar7 = 8" (identifier "iVar7") (= "=") (number_literal "8")) (; ";")) (} "}")) (else_clause "else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;" (else "else") (if_statement "if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056bdf;" (if "if") (parenthesized_expression "((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))" (( "(") (binary_expression "(pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U)" (parenthesized_expression "(pcVar25 <= pcVar17)" (( "(") (binary_expression "pcVar25 <= pcVar17" (identifier "pcVar25") (<= "<=") (identifier "pcVar17")) () ")")) (|| "||") (parenthesized_expression "(iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U)" (( "(") (comma_expression "iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U" (assignment_expression "iVar7 = (int)pcVar25 - (int)pcVar17" (identifier "iVar7") (= "=") (binary_expression "(int)pcVar25 - (int)pcVar17" (cast_expression "(int)pcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar25")) (- "-") (cast_expression "(int)pcVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar17")))) (, ",") (binary_expression "7 < iVar7 - 1U" (number_literal "7") (< "<") (binary_expression "iVar7 - 1U" (identifier "iVar7") (- "-") (number_literal "1U")))) () ")"))) () ")")) (goto_statement "goto LAB_00056bdf;" (goto "goto") (statement_identifier "LAB_00056bdf") (; ";"))))) (expression_statement "iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);" (assignment_expression "iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7)" (identifier "iVar7") (= "=") (call_expression "(*DAT_000b9dd8)(pcVar17,iVar7)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(pcVar17,iVar7)" (( "(") (identifier "pcVar17") (, ",") (identifier "iVar7") () ")")))) (; ";")) (expression_statement "pcVar18 = pcVar18 + iVar7 + 0xc;" (assignment_expression "pcVar18 = pcVar18 + iVar7 + 0xc" (identifier "pcVar18") (= "=") (binary_expression "pcVar18 + iVar7 + 0xc" (binary_expression "pcVar18 + iVar7" (identifier "pcVar18") (+ "+") (identifier "iVar7")) (+ "+") (number_literal "0xc"))) (; ";")) (expression_statement "bVar21 = pcVar18 < pcVar15 || iVar7 < 1;" (assignment_expression "bVar21 = pcVar18 < pcVar15 || iVar7 < 1" (identifier "bVar21") (= "=") (binary_expression "pcVar18 < pcVar15 || iVar7 < 1" (binary_expression "pcVar18 < pcVar15" (identifier "pcVar18") (< "<") (identifier "pcVar15")) (|| "||") (binary_expression "iVar7 < 1" (identifier "iVar7") (< "<") (number_literal "1")))) (; ";")) (} "}")) (else_clause "else {\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }" (else "else") (compound_statement "{\n          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);\n          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }\n          pcVar18 = pcVar18 + (int)lVar28 + 4;\n          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;\n        }" ({ "{") (expression_statement "iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);" (assignment_expression "iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20)" (identifier "iVar7") (= "=") (cast_expression "(int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)(lVar28 + -0xfffffff0) >> 0x20)" (( "(") (binary_expression "(ulonglong)(lVar28 + -0xfffffff0) >> 0x20" (call_expression "(ulonglong)(lVar28 + -0xfffffff0)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (argument_list "(lVar28 + -0xfffffff0)" (( "(") (binary_expression "lVar28 + -0xfffffff0" (identifier "lVar28") (+ "+") (number_literal "-0xfffffff0")) () ")"))) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (if_statement "if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }" (if "if") (parenthesized_expression "(iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7)" (( "(") (binary_expression "iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7" (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) (&& "&&") (binary_expression "(uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7" (call_expression "(uint)(0xe < (uint)(lVar28 + -0xfffffff0))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0xe < (uint)(lVar28 + -0xfffffff0))" (( "(") (binary_expression "0xe < (uint)(lVar28 + -0xfffffff0)" (number_literal "0xe") (< "<") (call_expression "(uint)(lVar28 + -0xfffffff0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(lVar28 + -0xfffffff0)" (( "(") (binary_expression "lVar28 + -0xfffffff0" (identifier "lVar28") (+ "+") (number_literal "-0xfffffff0")) () ")")))) () ")"))) (<= "<=") (binary_expression "(uint)-iVar7" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (- "-") (identifier "iVar7")))) () ")")) (compound_statement "{\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar14 = FUN_0004cb50(0);\n            pcVar15 = "Reserved length value (0x%s) found in section %s\n";\n            goto LAB_00056c0d;\n          }" ({ "{") (expression_statement "uVar10 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar10 = *(undefined4 *)(param_1 + 8)" (identifier "uVar10") (= "=") (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 "uVar14 = FUN_0004cb50(0);" (assignment_expression "uVar14 = FUN_0004cb50(0)" (identifier "uVar14") (= "=") (call_expression "FUN_0004cb50(0)" (identifier "FUN_0004cb50") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "pcVar15 = "Reserved length value (0x%s) found in section %s\n";" (assignment_expression "pcVar15 = "Reserved length value (0x%s) found in section %s\n"" (identifier "pcVar15") (= "=") (string_literal ""Reserved length value (0x%s) found in section %s\n"" (" """) (string_content "Reserved length value (0x%s) found in section %s") (escape_sequence "\n") (" """))) (; ";")) (goto_statement "goto LAB_00056c0d;" (goto "goto") (statement_identifier "LAB_00056c0d") (; ";")) (} "}"))) (expression_statement "pcVar18 = pcVar18 + (int)lVar28 + 4;" (assignment_expression "pcVar18 = pcVar18 + (int)lVar28 + 4" (identifier "pcVar18") (= "=") (binary_expression "pcVar18 + (int)lVar28 + 4" (binary_expression "pcVar18 + (int)lVar28" (identifier "pcVar18") (+ "+") (cast_expression "(int)lVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar28"))) (+ "+") (number_literal "4"))) (; ";")) (expression_statement "bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;" (assignment_expression "bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15" (identifier "bVar21") (= "=") (binary_expression "(int)lVar28 < 1 || pcVar18 < pcVar15" (binary_expression "(int)lVar28 < 1" (cast_expression "(int)lVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar28")) (< "<") (number_literal "1")) (|| "||") (binary_expression "pcVar18 < pcVar15" (identifier "pcVar18") (< "<") (identifier "pcVar15")))) (; ";")) (} "}")))) (if_statement "if (bVar21) goto LAB_00056bdf;" (if "if") (parenthesized_expression "(bVar21)" (( "(") (identifier "bVar21") () ")")) (goto_statement "goto LAB_00056bdf;" (goto "goto") (statement_identifier "LAB_00056bdf") (; ";"))) (expression_statement "local_90 = local_90 + 1;" (assignment_expression "local_90 = local_90 + 1" (identifier "local_90") (= "=") (binary_expression "local_90 + 1" (identifier "local_90") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pcVar18 < pcVar25)" (( "(") (binary_expression "pcVar18 < pcVar25" (identifier "pcVar18") (< "<") (identifier "pcVar25")) () ")")) (; ";")) (if_statement "if (local_90 == 0) goto LAB_00057e2b;" (if "if") (parenthesized_expression "(local_90 == 0)" (( "(") (binary_expression "local_90 == 0" (identifier "local_90") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00057e2b;" (goto "goto") (statement_identifier "LAB_00057e2b") (; ";"))) (if_statement "if (0x3333332 < local_90) {\n        DAT_000b9d64 = (void *)0x0;\n        uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(uVar10,local_90);\n        DAT_000b9d68 = 0;\n        DAT_000b9d6c = 0;\n        return 0;\n      }" (if "if") (parenthesized_expression "(0x3333332 < local_90)" (( "(") (binary_expression "0x3333332 < local_90" (number_literal "0x3333332") (< "<") (identifier "local_90")) () ")")) (compound_statement "{\n        DAT_000b9d64 = (void *)0x0;\n        uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);\n        error(uVar10,local_90);\n        DAT_000b9d68 = 0;\n        DAT_000b9d6c = 0;\n        return 0;\n      }" ({ "{") (expression_statement "DAT_000b9d64 = (void *)0x0;" (assignment_expression "DAT_000b9d64 = (void *)0x0" (identifier "DAT_000b9d64") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);" (assignment_expression "uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5)" (identifier "dcgettext") (argument_list "(0,"Not enough memory for a debug info array of %u entries\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Not enough memory for a debug info array of %u entries\n"" (" """) (string_content "Not enough memory for a debug info array of %u entries") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "error(uVar10,local_90);" (call_expression "error(uVar10,local_90)" (identifier "error") (argument_list "(uVar10,local_90)" (( "(") (identifier "uVar10") (, ",") (identifier "local_90") () ")"))) (; ";")) (expression_statement "DAT_000b9d68 = 0;" (assignment_expression "DAT_000b9d68 = 0" (identifier "DAT_000b9d68") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_000b9d6c = 0;" (assignment_expression "DAT_000b9d6c = 0" (identifier "DAT_000b9d6c") (= "=") (number_literal "0")) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "DAT_000b9d64 = (void *)FUN_0006b190(local_90 * 0x50);" (assignment_expression "DAT_000b9d64 = (void *)FUN_0006b190(local_90 * 0x50)" (identifier "DAT_000b9d64") (= "=") (cast_expression "(void *)FUN_0006b190(local_90 * 0x50)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0006b190(local_90 * 0x50)" (identifier "FUN_0006b190") (argument_list "(local_90 * 0x50)" (( "(") (binary_expression "local_90 * 0x50" (identifier "local_90") (* "*") (number_literal "0x50")) () ")"))))) (; ";")) (expression_statement "memset(DAT_000b9d64,0,local_90 * 0x50);" (call_expression "memset(DAT_000b9d64,0,local_90 * 0x50)" (identifier "memset") (argument_list "(DAT_000b9d64,0,local_90 * 0x50)" (( "(") (identifier "DAT_000b9d64") (, ",") (number_literal "0") (, ",") (binary_expression "local_90 * 0x50" (identifier "local_90") (* "*") (number_literal "0x50")) () ")"))) (; ";")) (expression_statement "DAT_000b9d68 = local_90;" (assignment_expression "DAT_000b9d68 = local_90" (identifier "DAT_000b9d68") (= "=") (identifier "local_90")) (; ";")) (if_statement "if (param_4 != 0) {\n        FUN_0004e130();\n        if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n        param_5 = 0;\n        goto LAB_0005662b;\n      }" (if "if") (parenthesized_expression "(param_4 != 0)" (( "(") (binary_expression "param_4 != 0" (identifier "param_4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        FUN_0004e130();\n        if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n        param_5 = 0;\n        goto LAB_0005662b;\n      }" ({ "{") (expression_statement "FUN_0004e130();" (call_expression "FUN_0004e130()" (identifier "FUN_0004e130") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;" (if "if") (parenthesized_expression "(*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0)" (( "(") (binary_expression "*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0" (pointer_expression "*(int *)(&DAT_000b4850 + param_3 * 0x40)" (* "*") (cast_expression "(int *)(&DAT_000b4850 + param_3 * 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_000b4850 + param_3 * 0x40)" (( "(") (binary_expression "&DAT_000b4850 + param_3 * 0x40" (pointer_expression "&DAT_000b4850" (& "&") (identifier "DAT_000b4850")) (+ "+") (binary_expression "param_3 * 0x40" (identifier "param_3") (* "*") (number_literal "0x40"))) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00057bf6;" (goto "goto") (statement_identifier "LAB_00057bf6") (; ";"))) (expression_statement "param_5 = 0;" (assignment_expression "param_5 = 0" (identifier "param_5") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0005662b;" (goto "goto") (statement_identifier "LAB_0005662b") (; ";")) (} "}"))) (} "}")))) (expression_statement "FUN_0004e130();" (call_expression "FUN_0004e130()" (identifier "FUN_0004e130") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0004e130();" (call_expression "FUN_0004e130()" (identifier "FUN_0004e130") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0004e130();" (call_expression "FUN_0004e130()" (identifier "FUN_0004e130") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0004e130();" (call_expression "FUN_0004e130()" (identifier "FUN_0004e130") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0004e130();" (call_expression "FUN_0004e130()" (identifier "FUN_0004e130") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0004e130();" (call_expression "FUN_0004e130()" (identifier "FUN_0004e130") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0004e130();" (call_expression "FUN_0004e130()" (identifier "FUN_0004e130") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) {\nLAB_00057bf6:\n      puVar3 = (&PTR_s__debug_abbrev_000b4840)[param_3 * 0x10];\n      uVar10 = dcgettext(0,"Unable to locate %s section!\n",5);\n      warn(uVar10,puVar3);\n      return 0;\n    }" (if "if") (parenthesized_expression "(*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0)" (( "(") (binary_expression "*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0" (pointer_expression "*(int *)(&DAT_000b4850 + param_3 * 0x40)" (* "*") (cast_expression "(int *)(&DAT_000b4850 + param_3 * 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_000b4850 + param_3 * 0x40)" (( "(") (binary_expression "&DAT_000b4850 + param_3 * 0x40" (pointer_expression "&DAT_000b4850" (& "&") (identifier "DAT_000b4850")) (+ "+") (binary_expression "param_3 * 0x40" (identifier "param_3") (* "*") (number_literal "0x40"))) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00057bf6:\n      puVar3 = (&PTR_s__debug_abbrev_000b4840)[param_3 * 0x10];\n      uVar10 = dcgettext(0,"Unable to locate %s section!\n",5);\n      warn(uVar10,puVar3);\n      return 0;\n    }" ({ "{") (labeled_statement "LAB_00057bf6:\n      puVar3 = (&PTR_s__debug_abbrev_000b4840)[param_3 * 0x10];" (statement_identifier "LAB_00057bf6") (: ":") (expression_statement "puVar3 = (&PTR_s__debug_abbrev_000b4840)[param_3 * 0x10];" (assignment_expression "puVar3 = (&PTR_s__debug_abbrev_000b4840)[param_3 * 0x10]" (identifier "puVar3") (= "=") (subscript_expression "(&PTR_s__debug_abbrev_000b4840)[param_3 * 0x10]" (parenthesized_expression "(&PTR_s__debug_abbrev_000b4840)" (( "(") (pointer_expression "&PTR_s__debug_abbrev_000b4840" (& "&") (identifier "PTR_s__debug_abbrev_000b4840")) () ")")) ([ "[") (binary_expression "param_3 * 0x10" (identifier "param_3") (* "*") (number_literal "0x10")) (] "]"))) (; ";"))) (expression_statement "uVar10 = dcgettext(0,"Unable to locate %s section!\n",5);" (assignment_expression "uVar10 = dcgettext(0,"Unable to locate %s section!\n",5)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,"Unable to locate %s section!\n",5)" (identifier "dcgettext") (argument_list "(0,"Unable to locate %s section!\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Unable to locate %s section!\n"" (" """) (string_content "Unable to locate %s section!") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar10,puVar3);" (call_expression "warn(uVar10,puVar3)" (identifier "warn") (argument_list "(uVar10,puVar3)" (( "(") (identifier "uVar10") (, ",") (identifier "puVar3") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (if_statement "if (DAT_000b9dd4 == 0) {\n      FUN_0004eb80();\n    }" (if "if") (parenthesized_expression "(DAT_000b9dd4 == 0)" (( "(") (binary_expression "DAT_000b9dd4 == 0" (identifier "DAT_000b9dd4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_0004eb80();\n    }" ({ "{") (expression_statement "FUN_0004eb80();" (call_expression "FUN_0004eb80()" (identifier "FUN_0004eb80") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (pcVar15 < pcVar25) {\nLAB_0005662b:\n      local_a4 = 0;\n      local_f4 = pcVar15;\n      do {\n        local_6c = 0;\n        local_68 = 0;\n        local_64 = 0;\n        pcVar18 = local_f4 + 4;\n        local_60 = 0;\n        pcVar17 = pcVar18;\n        if (pcVar18 < pcVar25) {\n          iVar7 = 4;\nLAB_00056d25:\n          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);\n          if (lVar28 == 0xffffffff) {\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }\n          else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;\nLAB_000566e9:\n          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);\n        }\n        else {\n          iVar7 = (int)pcVar25 - (int)local_f4;\n          if (iVar7 - 1U < 8) goto LAB_00056d25;\n          local_cc = 4;\n          pcVar16 = local_f4 + 6;\n          local_d4 = 4;\n          local_f0 = 4;\njoined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }\n          lVar28 = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }\n        local_ec = (int)lVar28;\n        uVar8 = (int)local_f4 - (int)pcVar15;\n        uVar9 = (int)uVar8 >> 0x1f;\n        if (param_5 == 0) {\n          iVar22 = 1;\n          iVar7 = DAT_000b9d34;\n          iVar26 = DAT_000b9d2c;\n        }\n        else {\n          iVar22 = 2;\n          iVar7 = DAT_000b9d30;\n          iVar26 = DAT_000b9d28;\n        }\n        for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;\n          iVar26 = iVar26 + 0x68;\n        }\n        iVar26 = 0;\njoined_r0x0005676e:\n        uVar13 = local_f0;\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar6 = 0xff;\njoined_r0x000567df:\n          pcVar18 = pcVar16 + local_f0;\n          if ((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))\n          goto LAB_00056caa;\nLAB_000567f7:\n          uVar27 = 0;\n          uVar5 = 0;\n          if (iVar26 != 0) goto LAB_0005680f;\nLAB_00056cce:\n          uVar27 = uVar5;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n        }\n        else {\n          pcVar18 = pcVar17 + 3;\n          if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }\n          pcVar16 = pcVar17 + 4;\n          bVar6 = 0;\n          pcVar18 = pcVar16 + local_f0;\n          if (pcVar25 <= pcVar18) goto LAB_000567f7;\nLAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);\n          uVar5 = uVar27;\n          if (iVar26 == 0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);\n          local_98 = *(int *)(iVar26 + 0x24);\n          local_ac = *(uint *)(iVar26 + 0x54);\n        }\n        local_a0 = (uint)((ulonglong)uVar27 >> 0x20);\n        local_b0 = (uint)uVar27;\n        pcVar17 = pcVar18;\n        if (local_e2 < 5) {\n          pcVar17 = pcVar18 + 1;\n          if (pcVar17 < pcVar25) {\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }\n          if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))\n          goto LAB_00056c35;\n          bVar6 = 0;\nLAB_00056853:\n          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;\n          warn(uVar10,bVar6,local_f0);\n          bVar6 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;\n        }\n        if (param_5 != 0) {\n          pcVar18 = pcVar17 + 8;\n          if (pcVar25 < pcVar18) {\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }\n          else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }\n          pcVar17 = pcVar18 + local_f0;\n          uVar13 = local_f0;\n          if ((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }\n        }\n        uVar13 = DAT_000b9dd4;\n        uVar11 = local_d4 + uVar8;\n        lVar4 = lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8;\n        if ((uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4)) {\n          local_f4 = pcVar15 + uVar11 + local_ec;\n        }\n        else {\n          if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);\n          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);\n          if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + local_d4 + local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }\n        }\nLAB_00056ae6:\n        local_a4 = local_a4 + 1;\n      } while (local_f4 < pcVar25);\n      if (param_4 != 0) goto LAB_00057752;\n    }" (if "if") (parenthesized_expression "(pcVar15 < pcVar25)" (( "(") (binary_expression "pcVar15 < pcVar25" (identifier "pcVar15") (< "<") (identifier "pcVar25")) () ")")) (compound_statement "{\nLAB_0005662b:\n      local_a4 = 0;\n      local_f4 = pcVar15;\n      do {\n        local_6c = 0;\n        local_68 = 0;\n        local_64 = 0;\n        pcVar18 = local_f4 + 4;\n        local_60 = 0;\n        pcVar17 = pcVar18;\n        if (pcVar18 < pcVar25) {\n          iVar7 = 4;\nLAB_00056d25:\n          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);\n          if (lVar28 == 0xffffffff) {\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }\n          else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;\nLAB_000566e9:\n          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);\n        }\n        else {\n          iVar7 = (int)pcVar25 - (int)local_f4;\n          if (iVar7 - 1U < 8) goto LAB_00056d25;\n          local_cc = 4;\n          pcVar16 = local_f4 + 6;\n          local_d4 = 4;\n          local_f0 = 4;\njoined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }\n          lVar28 = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }\n        local_ec = (int)lVar28;\n        uVar8 = (int)local_f4 - (int)pcVar15;\n        uVar9 = (int)uVar8 >> 0x1f;\n        if (param_5 == 0) {\n          iVar22 = 1;\n          iVar7 = DAT_000b9d34;\n          iVar26 = DAT_000b9d2c;\n        }\n        else {\n          iVar22 = 2;\n          iVar7 = DAT_000b9d30;\n          iVar26 = DAT_000b9d28;\n        }\n        for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;\n          iVar26 = iVar26 + 0x68;\n        }\n        iVar26 = 0;\njoined_r0x0005676e:\n        uVar13 = local_f0;\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar6 = 0xff;\njoined_r0x000567df:\n          pcVar18 = pcVar16 + local_f0;\n          if ((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))\n          goto LAB_00056caa;\nLAB_000567f7:\n          uVar27 = 0;\n          uVar5 = 0;\n          if (iVar26 != 0) goto LAB_0005680f;\nLAB_00056cce:\n          uVar27 = uVar5;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n        }\n        else {\n          pcVar18 = pcVar17 + 3;\n          if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }\n          pcVar16 = pcVar17 + 4;\n          bVar6 = 0;\n          pcVar18 = pcVar16 + local_f0;\n          if (pcVar25 <= pcVar18) goto LAB_000567f7;\nLAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);\n          uVar5 = uVar27;\n          if (iVar26 == 0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);\n          local_98 = *(int *)(iVar26 + 0x24);\n          local_ac = *(uint *)(iVar26 + 0x54);\n        }\n        local_a0 = (uint)((ulonglong)uVar27 >> 0x20);\n        local_b0 = (uint)uVar27;\n        pcVar17 = pcVar18;\n        if (local_e2 < 5) {\n          pcVar17 = pcVar18 + 1;\n          if (pcVar17 < pcVar25) {\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }\n          if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))\n          goto LAB_00056c35;\n          bVar6 = 0;\nLAB_00056853:\n          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;\n          warn(uVar10,bVar6,local_f0);\n          bVar6 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;\n        }\n        if (param_5 != 0) {\n          pcVar18 = pcVar17 + 8;\n          if (pcVar25 < pcVar18) {\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }\n          else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }\n          pcVar17 = pcVar18 + local_f0;\n          uVar13 = local_f0;\n          if ((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }\n        }\n        uVar13 = DAT_000b9dd4;\n        uVar11 = local_d4 + uVar8;\n        lVar4 = lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8;\n        if ((uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4)) {\n          local_f4 = pcVar15 + uVar11 + local_ec;\n        }\n        else {\n          if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);\n          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);\n          if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + local_d4 + local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }\n        }\nLAB_00056ae6:\n        local_a4 = local_a4 + 1;\n      } while (local_f4 < pcVar25);\n      if (param_4 != 0) goto LAB_00057752;\n    }" ({ "{") (labeled_statement "LAB_0005662b:\n      local_a4 = 0;" (statement_identifier "LAB_0005662b") (: ":") (expression_statement "local_a4 = 0;" (assignment_expression "local_a4 = 0" (identifier "local_a4") (= "=") (number_literal "0")) (; ";"))) (expression_statement "local_f4 = pcVar15;" (assignment_expression "local_f4 = pcVar15" (identifier "local_f4") (= "=") (identifier "pcVar15")) (; ";")) (do_statement "do {\n        local_6c = 0;\n        local_68 = 0;\n        local_64 = 0;\n        pcVar18 = local_f4 + 4;\n        local_60 = 0;\n        pcVar17 = pcVar18;\n        if (pcVar18 < pcVar25) {\n          iVar7 = 4;\nLAB_00056d25:\n          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);\n          if (lVar28 == 0xffffffff) {\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }\n          else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;\nLAB_000566e9:\n          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);\n        }\n        else {\n          iVar7 = (int)pcVar25 - (int)local_f4;\n          if (iVar7 - 1U < 8) goto LAB_00056d25;\n          local_cc = 4;\n          pcVar16 = local_f4 + 6;\n          local_d4 = 4;\n          local_f0 = 4;\njoined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }\n          lVar28 = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }\n        local_ec = (int)lVar28;\n        uVar8 = (int)local_f4 - (int)pcVar15;\n        uVar9 = (int)uVar8 >> 0x1f;\n        if (param_5 == 0) {\n          iVar22 = 1;\n          iVar7 = DAT_000b9d34;\n          iVar26 = DAT_000b9d2c;\n        }\n        else {\n          iVar22 = 2;\n          iVar7 = DAT_000b9d30;\n          iVar26 = DAT_000b9d28;\n        }\n        for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;\n          iVar26 = iVar26 + 0x68;\n        }\n        iVar26 = 0;\njoined_r0x0005676e:\n        uVar13 = local_f0;\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar6 = 0xff;\njoined_r0x000567df:\n          pcVar18 = pcVar16 + local_f0;\n          if ((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))\n          goto LAB_00056caa;\nLAB_000567f7:\n          uVar27 = 0;\n          uVar5 = 0;\n          if (iVar26 != 0) goto LAB_0005680f;\nLAB_00056cce:\n          uVar27 = uVar5;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n        }\n        else {\n          pcVar18 = pcVar17 + 3;\n          if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }\n          pcVar16 = pcVar17 + 4;\n          bVar6 = 0;\n          pcVar18 = pcVar16 + local_f0;\n          if (pcVar25 <= pcVar18) goto LAB_000567f7;\nLAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);\n          uVar5 = uVar27;\n          if (iVar26 == 0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);\n          local_98 = *(int *)(iVar26 + 0x24);\n          local_ac = *(uint *)(iVar26 + 0x54);\n        }\n        local_a0 = (uint)((ulonglong)uVar27 >> 0x20);\n        local_b0 = (uint)uVar27;\n        pcVar17 = pcVar18;\n        if (local_e2 < 5) {\n          pcVar17 = pcVar18 + 1;\n          if (pcVar17 < pcVar25) {\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }\n          if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))\n          goto LAB_00056c35;\n          bVar6 = 0;\nLAB_00056853:\n          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;\n          warn(uVar10,bVar6,local_f0);\n          bVar6 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;\n        }\n        if (param_5 != 0) {\n          pcVar18 = pcVar17 + 8;\n          if (pcVar25 < pcVar18) {\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }\n          else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }\n          pcVar17 = pcVar18 + local_f0;\n          uVar13 = local_f0;\n          if ((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }\n        }\n        uVar13 = DAT_000b9dd4;\n        uVar11 = local_d4 + uVar8;\n        lVar4 = lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8;\n        if ((uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4)) {\n          local_f4 = pcVar15 + uVar11 + local_ec;\n        }\n        else {\n          if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);\n          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);\n          if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + local_d4 + local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }\n        }\nLAB_00056ae6:\n        local_a4 = local_a4 + 1;\n      } while (local_f4 < pcVar25);" (do "do") (compound_statement "{\n        local_6c = 0;\n        local_68 = 0;\n        local_64 = 0;\n        pcVar18 = local_f4 + 4;\n        local_60 = 0;\n        pcVar17 = pcVar18;\n        if (pcVar18 < pcVar25) {\n          iVar7 = 4;\nLAB_00056d25:\n          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);\n          if (lVar28 == 0xffffffff) {\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }\n          else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;\nLAB_000566e9:\n          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);\n        }\n        else {\n          iVar7 = (int)pcVar25 - (int)local_f4;\n          if (iVar7 - 1U < 8) goto LAB_00056d25;\n          local_cc = 4;\n          pcVar16 = local_f4 + 6;\n          local_d4 = 4;\n          local_f0 = 4;\njoined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }\n          lVar28 = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }\n        local_ec = (int)lVar28;\n        uVar8 = (int)local_f4 - (int)pcVar15;\n        uVar9 = (int)uVar8 >> 0x1f;\n        if (param_5 == 0) {\n          iVar22 = 1;\n          iVar7 = DAT_000b9d34;\n          iVar26 = DAT_000b9d2c;\n        }\n        else {\n          iVar22 = 2;\n          iVar7 = DAT_000b9d30;\n          iVar26 = DAT_000b9d28;\n        }\n        for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;\n          iVar26 = iVar26 + 0x68;\n        }\n        iVar26 = 0;\njoined_r0x0005676e:\n        uVar13 = local_f0;\n        if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar6 = 0xff;\njoined_r0x000567df:\n          pcVar18 = pcVar16 + local_f0;\n          if ((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))\n          goto LAB_00056caa;\nLAB_000567f7:\n          uVar27 = 0;\n          uVar5 = 0;\n          if (iVar26 != 0) goto LAB_0005680f;\nLAB_00056cce:\n          uVar27 = uVar5;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n        }\n        else {\n          pcVar18 = pcVar17 + 3;\n          if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }\n          pcVar16 = pcVar17 + 4;\n          bVar6 = 0;\n          pcVar18 = pcVar16 + local_f0;\n          if (pcVar25 <= pcVar18) goto LAB_000567f7;\nLAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);\n          uVar5 = uVar27;\n          if (iVar26 == 0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);\n          local_98 = *(int *)(iVar26 + 0x24);\n          local_ac = *(uint *)(iVar26 + 0x54);\n        }\n        local_a0 = (uint)((ulonglong)uVar27 >> 0x20);\n        local_b0 = (uint)uVar27;\n        pcVar17 = pcVar18;\n        if (local_e2 < 5) {\n          pcVar17 = pcVar18 + 1;\n          if (pcVar17 < pcVar25) {\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }\n          if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))\n          goto LAB_00056c35;\n          bVar6 = 0;\nLAB_00056853:\n          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;\n          warn(uVar10,bVar6,local_f0);\n          bVar6 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;\n        }\n        if (param_5 != 0) {\n          pcVar18 = pcVar17 + 8;\n          if (pcVar25 < pcVar18) {\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }\n          else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }\n          pcVar17 = pcVar18 + local_f0;\n          uVar13 = local_f0;\n          if ((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }\n        }\n        uVar13 = DAT_000b9dd4;\n        uVar11 = local_d4 + uVar8;\n        lVar4 = lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8;\n        if ((uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4)) {\n          local_f4 = pcVar15 + uVar11 + local_ec;\n        }\n        else {\n          if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);\n          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);\n          if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + local_d4 + local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }\n        }\nLAB_00056ae6:\n        local_a4 = local_a4 + 1;\n      }" ({ "{") (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" (identifier "local_6c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" (identifier "local_68") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" (identifier "local_64") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar18 = local_f4 + 4;" (assignment_expression "pcVar18 = local_f4 + 4" (identifier "pcVar18") (= "=") (binary_expression "local_f4 + 4" (identifier "local_f4") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" (identifier "local_60") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar17 = pcVar18;" (assignment_expression "pcVar17 = pcVar18" (identifier "pcVar17") (= "=") (identifier "pcVar18")) (; ";")) (if_statement "if (pcVar18 < pcVar25) {\n          iVar7 = 4;\nLAB_00056d25:\n          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);\n          if (lVar28 == 0xffffffff) {\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }\n          else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;\nLAB_000566e9:\n          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);\n        }\n        else {\n          iVar7 = (int)pcVar25 - (int)local_f4;\n          if (iVar7 - 1U < 8) goto LAB_00056d25;\n          local_cc = 4;\n          pcVar16 = local_f4 + 6;\n          local_d4 = 4;\n          local_f0 = 4;\njoined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }\n          lVar28 = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }" (if "if") (parenthesized_expression "(pcVar18 < pcVar25)" (( "(") (binary_expression "pcVar18 < pcVar25" (identifier "pcVar18") (< "<") (identifier "pcVar25")) () ")")) (compound_statement "{\n          iVar7 = 4;\nLAB_00056d25:\n          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);\n          if (lVar28 == 0xffffffff) {\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }\n          else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;\nLAB_000566e9:\n          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);\n        }" ({ "{") (expression_statement "iVar7 = 4;" (assignment_expression "iVar7 = 4" (identifier "iVar7") (= "=") (number_literal "4")) (; ";")) (labeled_statement "LAB_00056d25:\n          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);" (statement_identifier "LAB_00056d25") (: ":") (expression_statement "lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);" (assignment_expression "lVar28 = (*DAT_000b9dd8)(local_f4,iVar7)" (identifier "lVar28") (= "=") (call_expression "(*DAT_000b9dd8)(local_f4,iVar7)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(local_f4,iVar7)" (( "(") (identifier "local_f4") (, ",") (identifier "iVar7") () ")")))) (; ";"))) (if_statement "if (lVar28 == 0xffffffff) {\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }\n          else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }" (if "if") (parenthesized_expression "(lVar28 == 0xffffffff)" (( "(") (binary_expression "lVar28 == 0xffffffff" (identifier "lVar28") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n            pcVar17 = local_f4 + 0xc;\n            if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }\n            pcVar16 = local_f4 + 0xe;\n            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            local_cc = 0xc;\n            local_d4 = 0xc;\n            local_f0 = 8;\n          }" ({ "{") (expression_statement "pcVar17 = local_f4 + 0xc;" (assignment_expression "pcVar17 = local_f4 + 0xc" (identifier "pcVar17") (= "=") (binary_expression "local_f4 + 0xc" (identifier "local_f4") (+ "+") (number_literal "0xc"))) (; ";")) (if_statement "if (pcVar17 < pcVar25) {\n              iVar7 = 8;\n            }\n            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }" (if "if") (parenthesized_expression "(pcVar17 < pcVar25)" (( "(") (binary_expression "pcVar17 < pcVar25" (identifier "pcVar17") (< "<") (identifier "pcVar25")) () ")")) (compound_statement "{\n              iVar7 = 8;\n            }" ({ "{") (expression_statement "iVar7 = 8;" (assignment_expression "iVar7 = 8" (identifier "iVar7") (= "=") (number_literal "8")) (; ";")) (} "}")) (else_clause "else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }" (else "else") (if_statement "if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))\n            {\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }" (if "if") (parenthesized_expression "((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))" (( "(") (binary_expression "(pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U)" (parenthesized_expression "(pcVar25 <= pcVar18)" (( "(") (binary_expression "pcVar25 <= pcVar18" (identifier "pcVar25") (<= "<=") (identifier "pcVar18")) () ")")) (|| "||") (parenthesized_expression "(iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U)" (( "(") (comma_expression "iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U" (assignment_expression "iVar7 = (int)pcVar25 - (int)pcVar18" (identifier "iVar7") (= "=") (binary_expression "(int)pcVar25 - (int)pcVar18" (cast_expression "(int)pcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar25")) (- "-") (cast_expression "(int)pcVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar18")))) (, ",") (binary_expression "7 < iVar7 - 1U" (number_literal "7") (< "<") (binary_expression "iVar7 - 1U" (identifier "iVar7") (- "-") (number_literal "1U")))) () ")"))) () ")")) (compound_statement "{\n              local_cc = 0xc;\n              pcVar16 = local_f4 + 0xe;\n              local_d4 = 0xc;\n              local_f0 = 8;\n              goto joined_r0x00056d9b;\n            }" ({ "{") (expression_statement "local_cc = 0xc;" (assignment_expression "local_cc = 0xc" (identifier "local_cc") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "pcVar16 = local_f4 + 0xe;" (assignment_expression "pcVar16 = local_f4 + 0xe" (identifier "pcVar16") (= "=") (binary_expression "local_f4 + 0xe" (identifier "local_f4") (+ "+") (number_literal "0xe"))) (; ";")) (expression_statement "local_d4 = 0xc;" (assignment_expression "local_d4 = 0xc" (identifier "local_d4") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "local_f0 = 8;" (assignment_expression "local_f0 = 8" (identifier "local_f0") (= "=") (number_literal "8")) (; ";")) (goto_statement "goto joined_r0x00056d9b;" (goto "goto") (statement_identifier "joined_r0x00056d9b") (; ";")) (} "}"))))) (expression_statement "pcVar16 = local_f4 + 0xe;" (assignment_expression "pcVar16 = local_f4 + 0xe" (identifier "pcVar16") (= "=") (binary_expression "local_f4 + 0xe" (identifier "local_f4") (+ "+") (number_literal "0xe"))) (; ";")) (expression_statement "lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);" (assignment_expression "lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7)" (identifier "lVar28") (= "=") (call_expression "(*DAT_000b9dd8)(pcVar18,iVar7)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(pcVar18,iVar7)" (( "(") (identifier "pcVar18") (, ",") (identifier "iVar7") () ")")))) (; ";")) (expression_statement "local_cc = 0xc;" (assignment_expression "local_cc = 0xc" (identifier "local_cc") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "local_d4 = 0xc;" (assignment_expression "local_d4 = 0xc" (identifier "local_d4") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "local_f0 = 8;" (assignment_expression "local_f0 = 8" (identifier "local_f0") (= "=") (number_literal "8")) (; ";")) (} "}")) (else_clause "else {\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }" (else "else") (compound_statement "{\n            pcVar16 = local_f4 + 6;\n            local_cc = 4;\n            local_d4 = 4;\n            local_f0 = 4;\n          }" ({ "{") (expression_statement "pcVar16 = local_f4 + 6;" (assignment_expression "pcVar16 = local_f4 + 6" (identifier "pcVar16") (= "=") (binary_expression "local_f4 + 6" (identifier "local_f4") (+ "+") (number_literal "6"))) (; ";")) (expression_statement "local_cc = 4;" (assignment_expression "local_cc = 4" (identifier "local_cc") (= "=") (number_literal "4")) (; ";")) (expression_statement "local_d4 = 4;" (assignment_expression "local_d4 = 4" (identifier "local_d4") (= "=") (number_literal "4")) (; ";")) (expression_statement "local_f0 = 4;" (assignment_expression "local_f0 = 4" (identifier "local_f0") (= "=") (number_literal "4")) (; ";")) (} "}")))) (if_statement "if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n          }\n          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;" (if "if") (parenthesized_expression "(pcVar16 < pcVar25)" (( "(") (binary_expression "pcVar16 < pcVar25" (identifier "pcVar16") (< "<") (identifier "pcVar25")) () ")")) (compound_statement "{\n            iVar7 = 2;\n          }" ({ "{") (expression_statement "iVar7 = 2;" (assignment_expression "iVar7 = 2" (identifier "iVar7") (= "=") (number_literal "2")) (; ";")) (} "}")) (else_clause "else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;" (else "else") (if_statement "if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))\n          goto LAB_00056db1;" (if "if") (parenthesized_expression "((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))" (( "(") (binary_expression "(pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U)" (parenthesized_expression "(pcVar25 <= pcVar17)" (( "(") (binary_expression "pcVar25 <= pcVar17" (identifier "pcVar25") (<= "<=") (identifier "pcVar17")) () ")")) (|| "||") (parenthesized_expression "(iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U)" (( "(") (comma_expression "iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U" (assignment_expression "iVar7 = (int)pcVar25 - (int)pcVar17" (identifier "iVar7") (= "=") (binary_expression "(int)pcVar25 - (int)pcVar17" (cast_expression "(int)pcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar25")) (- "-") (cast_expression "(int)pcVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar17")))) (, ",") (binary_expression "7 < iVar7 - 1U" (number_literal "7") (< "<") (binary_expression "iVar7 - 1U" (identifier "iVar7") (- "-") (number_literal "1U")))) () ")"))) () ")")) (goto_statement "goto LAB_00056db1;" (goto "goto") (statement_identifier "LAB_00056db1") (; ";"))))) (labeled_statement "LAB_000566e9:\n          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);" (statement_identifier "LAB_000566e9") (: ":") (expression_statement "local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);" (assignment_expression "local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7)" (identifier "local_e2") (= "=") (call_expression "(*DAT_000b9dd8)(pcVar17,iVar7)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(pcVar17,iVar7)" (( "(") (identifier "pcVar17") (, ",") (identifier "iVar7") () ")")))) (; ";"))) (} "}")) (else_clause "else {\n          iVar7 = (int)pcVar25 - (int)local_f4;\n          if (iVar7 - 1U < 8) goto LAB_00056d25;\n          local_cc = 4;\n          pcVar16 = local_f4 + 6;\n          local_d4 = 4;\n          local_f0 = 4;\njoined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }\n          lVar28 = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }" (else "else") (compound_statement "{\n          iVar7 = (int)pcVar25 - (int)local_f4;\n          if (iVar7 - 1U < 8) goto LAB_00056d25;\n          local_cc = 4;\n          pcVar16 = local_f4 + 6;\n          local_d4 = 4;\n          local_f0 = 4;\njoined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }\n          lVar28 = 0;\nLAB_00056db1:\n          local_e2 = 0;\n        }" ({ "{") (expression_statement "iVar7 = (int)pcVar25 - (int)local_f4;" (assignment_expression "iVar7 = (int)pcVar25 - (int)local_f4" (identifier "iVar7") (= "=") (binary_expression "(int)pcVar25 - (int)local_f4" (cast_expression "(int)pcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar25")) (- "-") (cast_expression "(int)local_f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_f4")))) (; ";")) (if_statement "if (iVar7 - 1U < 8) goto LAB_00056d25;" (if "if") (parenthesized_expression "(iVar7 - 1U < 8)" (( "(") (binary_expression "iVar7 - 1U < 8" (binary_expression "iVar7 - 1U" (identifier "iVar7") (- "-") (number_literal "1U")) (< "<") (number_literal "8")) () ")")) (goto_statement "goto LAB_00056d25;" (goto "goto") (statement_identifier "LAB_00056d25") (; ";"))) (expression_statement "local_cc = 4;" (assignment_expression "local_cc = 4" (identifier "local_cc") (= "=") (number_literal "4")) (; ";")) (expression_statement "pcVar16 = local_f4 + 6;" (assignment_expression "pcVar16 = local_f4 + 6" (identifier "pcVar16") (= "=") (binary_expression "local_f4 + 6" (identifier "local_f4") (+ "+") (number_literal "6"))) (; ";")) (expression_statement "local_d4 = 4;" (assignment_expression "local_d4 = 4" (identifier "local_d4") (= "=") (number_literal "4")) (; ";")) (expression_statement "local_f0 = 4;" (assignment_expression "local_f0 = 4" (identifier "local_f0") (= "=") (number_literal "4")) (; ";")) (labeled_statement "joined_r0x00056d9b:\n          if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }" (statement_identifier "joined_r0x00056d9b") (: ":") (if_statement "if (pcVar16 < pcVar25) {\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }" (if "if") (parenthesized_expression "(pcVar16 < pcVar25)" (( "(") (binary_expression "pcVar16 < pcVar25" (identifier "pcVar16") (< "<") (identifier "pcVar25")) () ")")) (compound_statement "{\n            iVar7 = 2;\n            lVar28 = 0;\n            goto LAB_000566e9;\n          }" ({ "{") (expression_statement "iVar7 = 2;" (assignment_expression "iVar7 = 2" (identifier "iVar7") (= "=") (number_literal "2")) (; ";")) (expression_statement "lVar28 = 0;" (assignment_expression "lVar28 = 0" (identifier "lVar28") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_000566e9;" (goto "goto") (statement_identifier "LAB_000566e9") (; ";")) (} "}")))) (expression_statement "lVar28 = 0;" (assignment_expression "lVar28 = 0" (identifier "lVar28") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_00056db1:\n          local_e2 = 0;" (statement_identifier "LAB_00056db1") (: ":") (expression_statement "local_e2 = 0;" (assignment_expression "local_e2 = 0" (identifier "local_e2") (= "=") (number_literal "0")) (; ";"))) (} "}")))) (expression_statement "local_ec = (int)lVar28;" (assignment_expression "local_ec = (int)lVar28" (identifier "local_ec") (= "=") (cast_expression "(int)lVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar28"))) (; ";")) (expression_statement "uVar8 = (int)local_f4 - (int)pcVar15;" (assignment_expression "uVar8 = (int)local_f4 - (int)pcVar15" (identifier "uVar8") (= "=") (binary_expression "(int)local_f4 - (int)pcVar15" (cast_expression "(int)local_f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_f4")) (- "-") (cast_expression "(int)pcVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar15")))) (; ";")) (expression_statement "uVar9 = (int)uVar8 >> 0x1f;" (assignment_expression "uVar9 = (int)uVar8 >> 0x1f" (identifier "uVar9") (= "=") (binary_expression "(int)uVar8 >> 0x1f" (cast_expression "(int)uVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar8")) (>> ">>") (number_literal "0x1f"))) (; ";")) (if_statement "if (param_5 == 0) {\n          iVar22 = 1;\n          iVar7 = DAT_000b9d34;\n          iVar26 = DAT_000b9d2c;\n        }\n        else {\n          iVar22 = 2;\n          iVar7 = DAT_000b9d30;\n          iVar26 = DAT_000b9d28;\n        }" (if "if") (parenthesized_expression "(param_5 == 0)" (( "(") (binary_expression "param_5 == 0" (identifier "param_5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          iVar22 = 1;\n          iVar7 = DAT_000b9d34;\n          iVar26 = DAT_000b9d2c;\n        }" ({ "{") (expression_statement "iVar22 = 1;" (assignment_expression "iVar22 = 1" (identifier "iVar22") (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar7 = DAT_000b9d34;" (assignment_expression "iVar7 = DAT_000b9d34" (identifier "iVar7") (= "=") (identifier "DAT_000b9d34")) (; ";")) (expression_statement "iVar26 = DAT_000b9d2c;" (assignment_expression "iVar26 = DAT_000b9d2c" (identifier "iVar26") (= "=") (identifier "DAT_000b9d2c")) (; ";")) (} "}")) (else_clause "else {\n          iVar22 = 2;\n          iVar7 = DAT_000b9d30;\n          iVar26 = DAT_000b9d28;\n        }" (else "else") (compound_statement "{\n          iVar22 = 2;\n          iVar7 = DAT_000b9d30;\n          iVar26 = DAT_000b9d28;\n        }" ({ "{") (expression_statement "iVar22 = 2;" (assignment_expression "iVar22 = 2" (identifier "iVar22") (= "=") (number_literal "2")) (; ";")) (expression_statement "iVar7 = DAT_000b9d30;" (assignment_expression "iVar7 = DAT_000b9d30" (identifier "iVar7") (= "=") (identifier "DAT_000b9d30")) (; ";")) (expression_statement "iVar26 = DAT_000b9d28;" (assignment_expression "iVar26 = DAT_000b9d28" (identifier "iVar26") (= "=") (identifier "DAT_000b9d28")) (; ";")) (} "}")))) (for_statement "for (; iVar7 != 0; iVar7 = iVar7 + -1) {\n          if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;\n          iVar26 = iVar26 + 0x68;\n        }" (for "for") (( "(") (; ";") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar7 = iVar7 + -1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + -1" (identifier "iVar7") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n          if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;\n          iVar26 = iVar26 + 0x68;\n        }" ({ "{") (if_statement "if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;" (if "if") (parenthesized_expression "(uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8))" (( "(") (binary_expression "uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&\n              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)" (binary_expression "uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8)" (identifier "uVar9") (== "==") (pointer_expression "*(uint *)(iVar26 + 0xc + iVar22 * 8)" (* "*") (cast_expression "(uint *)(iVar26 + 0xc + iVar22 * 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + 0xc + iVar22 * 8)" (( "(") (binary_expression "iVar26 + 0xc + iVar22 * 8" (binary_expression "iVar26 + 0xc" (identifier "iVar26") (+ "+") (number_literal "0xc")) (+ "+") (binary_expression "iVar22 * 8" (identifier "iVar22") (* "*") (number_literal "8"))) () ")"))))) (&& "&&") (binary_expression "uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)" (identifier "uVar8") (== "==") (pointer_expression "*(uint *)(iVar26 + 8 + iVar22 * 8)" (* "*") (cast_expression "(uint *)(iVar26 + 8 + iVar22 * 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + 8 + iVar22 * 8)" (( "(") (binary_expression "iVar26 + 8 + iVar22 * 8" (binary_expression "iVar26 + 8" (identifier "iVar26") (+ "+") (number_literal "8")) (+ "+") (binary_expression "iVar22 * 8" (identifier "iVar22") (* "*") (number_literal "8"))) () ")")))))) () ")")) (goto_statement "goto joined_r0x0005676e;" (goto "goto") (statement_identifier "joined_r0x0005676e") (; ";"))) (expression_statement "iVar26 = iVar26 + 0x68;" (assignment_expression "iVar26 = iVar26 + 0x68" (identifier "iVar26") (= "=") (binary_expression "iVar26 + 0x68" (identifier "iVar26") (+ "+") (number_literal "0x68"))) (; ";")) (} "}"))) (expression_statement "iVar26 = 0;" (assignment_expression "iVar26 = 0" (identifier "iVar26") (= "=") (number_literal "0")) (; ";")) (labeled_statement "joined_r0x0005676e:\n        uVar13 = local_f0;" (statement_identifier "joined_r0x0005676e") (: ":") (expression_statement "uVar13 = local_f0;" (assignment_expression "uVar13 = local_f0" (identifier "uVar13") (= "=") (identifier "local_f0")) (; ";"))) (if_statement "if (local_e2 < 5) {\n          local_b4 = 1;\n          bVar6 = 0xff;\njoined_r0x000567df:\n          pcVar18 = pcVar16 + local_f0;\n          if ((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))\n          goto LAB_00056caa;\nLAB_000567f7:\n          uVar27 = 0;\n          uVar5 = 0;\n          if (iVar26 != 0) goto LAB_0005680f;\nLAB_00056cce:\n          uVar27 = uVar5;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n        }\n        else {\n          pcVar18 = pcVar17 + 3;\n          if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }\n          pcVar16 = pcVar17 + 4;\n          bVar6 = 0;\n          pcVar18 = pcVar16 + local_f0;\n          if (pcVar25 <= pcVar18) goto LAB_000567f7;\nLAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);\n          uVar5 = uVar27;\n          if (iVar26 == 0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);\n          local_98 = *(int *)(iVar26 + 0x24);\n          local_ac = *(uint *)(iVar26 + 0x54);\n        }" (if "if") (parenthesized_expression "(local_e2 < 5)" (( "(") (binary_expression "local_e2 < 5" (identifier "local_e2") (< "<") (number_literal "5")) () ")")) (compound_statement "{\n          local_b4 = 1;\n          bVar6 = 0xff;\njoined_r0x000567df:\n          pcVar18 = pcVar16 + local_f0;\n          if ((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))\n          goto LAB_00056caa;\nLAB_000567f7:\n          uVar27 = 0;\n          uVar5 = 0;\n          if (iVar26 != 0) goto LAB_0005680f;\nLAB_00056cce:\n          uVar27 = uVar5;\n          local_9c = 0;\n          local_98 = 0;\n          local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n        }" ({ "{") (expression_statement "local_b4 = 1;" (assignment_expression "local_b4 = 1" (identifier "local_b4") (= "=") (number_literal "1")) (; ";")) (expression_statement "bVar6 = 0xff;" (assignment_expression "bVar6 = 0xff" (identifier "bVar6") (= "=") (number_literal "0xff")) (; ";")) (labeled_statement "joined_r0x000567df:\n          pcVar18 = pcVar16 + local_f0;" (statement_identifier "joined_r0x000567df") (: ":") (expression_statement "pcVar18 = pcVar16 + local_f0;" (assignment_expression "pcVar18 = pcVar16 + local_f0" (identifier "pcVar18") (= "=") (binary_expression "pcVar16 + local_f0" (identifier "pcVar16") (+ "+") (identifier "local_f0"))) (; ";"))) (if_statement "if ((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))\n          goto LAB_00056caa;" (if "if") (parenthesized_expression "((pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))" (( "(") (binary_expression "(pcVar18 < pcVar25) ||\n             ((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8)))" (parenthesized_expression "(pcVar18 < pcVar25)" (( "(") (binary_expression "pcVar18 < pcVar25" (identifier "pcVar18") (< "<") (identifier "pcVar25")) () ")")) (|| "||") (parenthesized_expression "((pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8)))" (( "(") (parenthesized_expression "(pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))" (( "(") (binary_expression "pcVar16 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8)" (binary_expression "pcVar16 < pcVar25" (identifier "pcVar16") (< "<") (identifier "pcVar25")) (&& "&&") (parenthesized_expression "(uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8)" (( "(") (comma_expression "uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8" (assignment_expression "uVar13 = (int)pcVar25 - (int)pcVar16" (identifier "uVar13") (= "=") (binary_expression "(int)pcVar25 - (int)pcVar16" (cast_expression "(int)pcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar25")) (- "-") (cast_expression "(int)pcVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar16")))) (, ",") (binary_expression "((int)pcVar25 - (int)pcVar16) - 1U < 8" (binary_expression "((int)pcVar25 - (int)pcVar16) - 1U" (parenthesized_expression "((int)pcVar25 - (int)pcVar16)" (( "(") (binary_expression "(int)pcVar25 - (int)pcVar16" (cast_expression "(int)pcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar25")) (- "-") (cast_expression "(int)pcVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar16"))) () ")")) (- "-") (number_literal "1U")) (< "<") (number_literal "8"))) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_00056caa;" (goto "goto") (statement_identifier "LAB_00056caa") (; ";"))) (labeled_statement "LAB_000567f7:\n          uVar27 = 0;" (statement_identifier "LAB_000567f7") (: ":") (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" (identifier "uVar27") (= "=") (number_literal "0")) (; ";"))) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" (identifier "uVar5") (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar26 != 0) goto LAB_0005680f;" (if "if") (parenthesized_expression "(iVar26 != 0)" (( "(") (binary_expression "iVar26 != 0" (identifier "iVar26") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0005680f;" (goto "goto") (statement_identifier "LAB_0005680f") (; ";"))) (labeled_statement "LAB_00056cce:\n          uVar27 = uVar5;" (statement_identifier "LAB_00056cce") (: ":") (expression_statement "uVar27 = uVar5;" (assignment_expression "uVar27 = uVar5" (identifier "uVar27") (= "=") (identifier "uVar5")) (; ";"))) (expression_statement "local_9c = 0;" (assignment_expression "local_9c = 0" (identifier "local_9c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" (identifier "local_98") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);" (assignment_expression "local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40)" (identifier "local_ac") (= "=") (pointer_expression "*(uint *)(&DAT_000b485c + param_3 * 0x40)" (* "*") (cast_expression "(uint *)(&DAT_000b485c + param_3 * 0x40)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_000b485c + param_3 * 0x40)" (( "(") (binary_expression "&DAT_000b485c + param_3 * 0x40" (pointer_expression "&DAT_000b485c" (& "&") (identifier "DAT_000b485c")) (+ "+") (binary_expression "param_3 * 0x40" (identifier "param_3") (* "*") (number_literal "0x40"))) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n          pcVar18 = pcVar17 + 3;\n          if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }\n          pcVar16 = pcVar17 + 4;\n          bVar6 = 0;\n          pcVar18 = pcVar16 + local_f0;\n          if (pcVar25 <= pcVar18) goto LAB_000567f7;\nLAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);\n          uVar5 = uVar27;\n          if (iVar26 == 0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);\n          local_98 = *(int *)(iVar26 + 0x24);\n          local_ac = *(uint *)(iVar26 + 0x54);\n        }" (else "else") (compound_statement "{\n          pcVar18 = pcVar17 + 3;\n          if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }\n          pcVar16 = pcVar17 + 4;\n          bVar6 = 0;\n          pcVar18 = pcVar16 + local_f0;\n          if (pcVar25 <= pcVar18) goto LAB_000567f7;\nLAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);\n          uVar5 = uVar27;\n          if (iVar26 == 0) goto LAB_00056cce;\nLAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);\n          local_98 = *(int *)(iVar26 + 0x24);\n          local_ac = *(uint *)(iVar26 + 0x54);\n        }" ({ "{") (expression_statement "pcVar18 = pcVar17 + 3;" (assignment_expression "pcVar18 = pcVar17 + 3" (identifier "pcVar18") (= "=") (binary_expression "pcVar17 + 3" (identifier "pcVar17") (+ "+") (number_literal "3"))) (; ";")) (if_statement "if (pcVar18 < pcVar25) {\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }\n          else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }" (if "if") (parenthesized_expression "(pcVar18 < pcVar25)" (( "(") (binary_expression "pcVar18 < pcVar25" (identifier "pcVar18") (< "<") (identifier "pcVar25")) () ")")) (compound_statement "{\n            iVar7 = 1;\nLAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);\n            param_5 = (uint)(local_b4 == 2);\n            iVar7 = 1;\n            if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }\n          }" ({ "{") (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" (identifier "iVar7") (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_00057245:\n            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);" (statement_identifier "LAB_00057245") (: ":") (expression_statement "local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);" (assignment_expression "local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7)" (identifier "local_b4") (= "=") (call_expression "(*DAT_000b9dd8)(pcVar16,iVar7)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(pcVar16,iVar7)" (( "(") (identifier "pcVar16") (, ",") (identifier "iVar7") () ")")))) (; ";"))) (expression_statement "param_5 = (uint)(local_b4 == 2);" (assignment_expression "param_5 = (uint)(local_b4 == 2)" (identifier "param_5") (= "=") (call_expression "(uint)(local_b4 == 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_b4 == 2)" (( "(") (binary_expression "local_b4 == 2" (identifier "local_b4") (== "==") (number_literal "2")) () ")")))) (; ";")) (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" (identifier "iVar7") (= "=") (number_literal "1")) (; ";")) (if_statement "if ((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }" (if "if") (parenthesized_expression "((pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))))" (( "(") (binary_expression "(pcVar17 + 4 < pcVar25) ||\n               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))" (parenthesized_expression "(pcVar17 + 4 < pcVar25)" (( "(") (binary_expression "pcVar17 + 4 < pcVar25" (binary_expression "pcVar17 + 4" (identifier "pcVar17") (+ "+") (number_literal "4")) (< "<") (identifier "pcVar25")) () ")")) (|| "||") (parenthesized_expression "((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))" (( "(") (parenthesized_expression "(pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))" (( "(") (binary_expression "pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)" (binary_expression "pcVar18 < pcVar25" (identifier "pcVar18") (< "<") (identifier "pcVar25")) (&& "&&") (parenthesized_expression "(iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)" (( "(") (comma_expression "iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8" (assignment_expression "iVar7 = (int)pcVar25 - (int)pcVar18" (identifier "iVar7") (= "=") (binary_expression "(int)pcVar25 - (int)pcVar18" (cast_expression "(int)pcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar25")) (- "-") (cast_expression "(int)pcVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar18")))) (, ",") (binary_expression "iVar7 - 1U < 8" (binary_expression "iVar7 - 1U" (identifier "iVar7") (- "-") (number_literal "1U")) (< "<") (number_literal "8"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\nLAB_000567c4:\n              pcVar16 = pcVar17 + 4;\n              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n              goto joined_r0x000567df;\n            }" ({ "{") (labeled_statement "LAB_000567c4:\n              pcVar16 = pcVar17 + 4;" (statement_identifier "LAB_000567c4") (: ":") (expression_statement "pcVar16 = pcVar17 + 4;" (assignment_expression "pcVar16 = pcVar17 + 4" (identifier "pcVar16") (= "=") (binary_expression "pcVar17 + 4" (identifier "pcVar17") (+ "+") (number_literal "4"))) (; ";"))) (expression_statement "bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);" (assignment_expression "bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7)" (identifier "bVar6") (= "=") (call_expression "(*DAT_000b9dd8)(pcVar18,iVar7)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(pcVar18,iVar7)" (( "(") (identifier "pcVar18") (, ",") (identifier "iVar7") () ")")))) (; ";")) (goto_statement "goto joined_r0x000567df;" (goto "goto") (statement_identifier "joined_r0x000567df") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }" (else "else") (compound_statement "{\n            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;\n            param_5 = 0;\n            local_b4 = 0;\n            if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }\n          }" ({ "{") (if_statement "if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))\n            goto LAB_00057245;" (if "if") (parenthesized_expression "((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))" (( "(") (binary_expression "(pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8)" (parenthesized_expression "(pcVar16 < pcVar25)" (( "(") (binary_expression "pcVar16 < pcVar25" (identifier "pcVar16") (< "<") (identifier "pcVar25")) () ")")) (&& "&&") (parenthesized_expression "(iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8)" (( "(") (comma_expression "iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8" (assignment_expression "iVar7 = (int)pcVar25 - (int)pcVar16" (identifier "iVar7") (= "=") (binary_expression "(int)pcVar25 - (int)pcVar16" (cast_expression "(int)pcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar25")) (- "-") (cast_expression "(int)pcVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar16")))) (, ",") (binary_expression "iVar7 - 1U < 8" (binary_expression "iVar7 - 1U" (identifier "iVar7") (- "-") (number_literal "1U")) (< "<") (number_literal "8"))) () ")"))) () ")")) (goto_statement "goto LAB_00057245;" (goto "goto") (statement_identifier "LAB_00057245") (; ";"))) (expression_statement "param_5 = 0;" (assignment_expression "param_5 = 0" (identifier "param_5") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_b4 = 0;" (assignment_expression "local_b4 = 0" (identifier "local_b4") (= "=") (number_literal "0")) (; ";")) (if_statement "if (pcVar17 + 4 < pcVar25) {\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }" (if "if") (parenthesized_expression "(pcVar17 + 4 < pcVar25)" (( "(") (binary_expression "pcVar17 + 4 < pcVar25" (binary_expression "pcVar17 + 4" (identifier "pcVar17") (+ "+") (number_literal "4")) (< "<") (identifier "pcVar25")) () ")")) (compound_statement "{\n              iVar7 = 1;\n              goto LAB_000567c4;\n            }" ({ "{") (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" (identifier "iVar7") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_000567c4;" (goto "goto") (statement_identifier "LAB_000567c4") (; ";")) (} "}"))) (} "}")))) (expression_statement "pcVar16 = pcVar17 + 4;" (assignment_expression "pcVar16 = pcVar17 + 4" (identifier "pcVar16") (= "=") (binary_expression "pcVar17 + 4" (identifier "pcVar17") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "bVar6 = 0;" (assignment_expression "bVar6 = 0" (identifier "bVar6") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar18 = pcVar16 + local_f0;" (assignment_expression "pcVar18 = pcVar16 + local_f0" (identifier "pcVar18") (= "=") (binary_expression "pcVar16 + local_f0" (identifier "pcVar16") (+ "+") (identifier "local_f0"))) (; ";")) (if_statement "if (pcVar25 <= pcVar18) goto LAB_000567f7;" (if "if") (parenthesized_expression "(pcVar25 <= pcVar18)" (( "(") (binary_expression "pcVar25 <= pcVar18" (identifier "pcVar25") (<= "<=") (identifier "pcVar18")) () ")")) (goto_statement "goto LAB_000567f7;" (goto "goto") (statement_identifier "LAB_000567f7") (; ";"))) (labeled_statement "LAB_00056caa:\n          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);" (statement_identifier "LAB_00056caa") (: ":") (expression_statement "uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);" (assignment_expression "uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13)" (identifier "uVar27") (= "=") (call_expression "(*DAT_000b9dd8)(pcVar16,uVar13)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(pcVar16,uVar13)" (( "(") (identifier "pcVar16") (, ",") (identifier "uVar13") () ")")))) (; ";"))) (expression_statement "uVar5 = uVar27;" (assignment_expression "uVar5 = uVar27" (identifier "uVar5") (= "=") (identifier "uVar27")) (; ";")) (if_statement "if (iVar26 == 0) goto LAB_00056cce;" (if "if") (parenthesized_expression "(iVar26 == 0)" (( "(") (binary_expression "iVar26 == 0" (identifier "iVar26") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00056cce;" (goto "goto") (statement_identifier "LAB_00056cce") (; ";"))) (labeled_statement "LAB_0005680f:\n          local_9c = *(uint *)(iVar26 + 0x20);" (statement_identifier "LAB_0005680f") (: ":") (expression_statement "local_9c = *(uint *)(iVar26 + 0x20);" (assignment_expression "local_9c = *(uint *)(iVar26 + 0x20)" (identifier "local_9c") (= "=") (pointer_expression "*(uint *)(iVar26 + 0x20)" (* "*") (cast_expression "(uint *)(iVar26 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + 0x20)" (( "(") (binary_expression "iVar26 + 0x20" (identifier "iVar26") (+ "+") (number_literal "0x20")) () ")"))))) (; ";"))) (expression_statement "local_98 = *(int *)(iVar26 + 0x24);" (assignment_expression "local_98 = *(int *)(iVar26 + 0x24)" (identifier "local_98") (= "=") (pointer_expression "*(int *)(iVar26 + 0x24)" (* "*") (cast_expression "(int *)(iVar26 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + 0x24)" (( "(") (binary_expression "iVar26 + 0x24" (identifier "iVar26") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "local_ac = *(uint *)(iVar26 + 0x54);" (assignment_expression "local_ac = *(uint *)(iVar26 + 0x54)" (identifier "local_ac") (= "=") (pointer_expression "*(uint *)(iVar26 + 0x54)" (* "*") (cast_expression "(uint *)(iVar26 + 0x54)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + 0x54)" (( "(") (binary_expression "iVar26 + 0x54" (identifier "iVar26") (+ "+") (number_literal "0x54")) () ")"))))) (; ";")) (} "}")))) (expression_statement "local_a0 = (uint)((ulonglong)uVar27 >> 0x20);" (assignment_expression "local_a0 = (uint)((ulonglong)uVar27 >> 0x20)" (identifier "local_a0") (= "=") (call_expression "(uint)((ulonglong)uVar27 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)uVar27 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar27 >> 0x20" (cast_expression "(ulonglong)uVar27" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar27")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "local_b0 = (uint)uVar27;" (assignment_expression "local_b0 = (uint)uVar27" (identifier "local_b0") (= "=") (cast_expression "(uint)uVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar27"))) (; ";")) (expression_statement "pcVar17 = pcVar18;" (assignment_expression "pcVar17 = pcVar18" (identifier "pcVar17") (= "=") (identifier "pcVar18")) (; ";")) (if_statement "if (local_e2 < 5) {\n          pcVar17 = pcVar18 + 1;\n          if (pcVar17 < pcVar25) {\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }\n          if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))\n          goto LAB_00056c35;\n          bVar6 = 0;\nLAB_00056853:\n          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;\n          warn(uVar10,bVar6,local_f0);\n          bVar6 = (byte)local_f0;\n        }\n        else {\nLAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;\n        }" (if "if") (parenthesized_expression "(local_e2 < 5)" (( "(") (binary_expression "local_e2 < 5" (identifier "local_e2") (< "<") (number_literal "5")) () ")")) (compound_statement "{\n          pcVar17 = pcVar18 + 1;\n          if (pcVar17 < pcVar25) {\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }\n          if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))\n          goto LAB_00056c35;\n          bVar6 = 0;\nLAB_00056853:\n          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;\n          warn(uVar10,bVar6,local_f0);\n          bVar6 = (byte)local_f0;\n        }" ({ "{") (expression_statement "pcVar17 = pcVar18 + 1;" (assignment_expression "pcVar17 = pcVar18 + 1" (identifier "pcVar17") (= "=") (binary_expression "pcVar18 + 1" (identifier "pcVar18") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pcVar17 < pcVar25) {\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }" (if "if") (parenthesized_expression "(pcVar17 < pcVar25)" (( "(") (binary_expression "pcVar17 < pcVar25" (identifier "pcVar17") (< "<") (identifier "pcVar25")) () ")")) (compound_statement "{\n            iVar7 = 1;\nLAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);\n            goto LAB_00056c57;\n          }" ({ "{") (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" (identifier "iVar7") (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_00056c35:\n            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);" (statement_identifier "LAB_00056c35") (: ":") (expression_statement "bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);" (assignment_expression "bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7)" (identifier "bVar6") (= "=") (call_expression "(*DAT_000b9dd8)(pcVar18,iVar7)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(pcVar18,iVar7)" (( "(") (identifier "pcVar18") (, ",") (identifier "iVar7") () ")")))) (; ";"))) (goto_statement "goto LAB_00056c57;" (goto "goto") (statement_identifier "LAB_00056c57") (; ";")) (} "}"))) (if_statement "if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))\n          goto LAB_00056c35;" (if "if") (parenthesized_expression "((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))" (( "(") (binary_expression "(pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)" (parenthesized_expression "(pcVar18 < pcVar25)" (( "(") (binary_expression "pcVar18 < pcVar25" (identifier "pcVar18") (< "<") (identifier "pcVar25")) () ")")) (&& "&&") (parenthesized_expression "(iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)" (( "(") (comma_expression "iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8" (assignment_expression "iVar7 = (int)pcVar25 - (int)pcVar18" (identifier "iVar7") (= "=") (binary_expression "(int)pcVar25 - (int)pcVar18" (cast_expression "(int)pcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar25")) (- "-") (cast_expression "(int)pcVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar18")))) (, ",") (binary_expression "iVar7 - 1U < 8" (binary_expression "iVar7 - 1U" (identifier "iVar7") (- "-") (number_literal "1U")) (< "<") (number_literal "8"))) () ")"))) () ")")) (goto_statement "goto LAB_00056c35;" (goto "goto") (statement_identifier "LAB_00056c35") (; ";"))) (expression_statement "bVar6 = 0;" (assignment_expression "bVar6 = 0" (identifier "bVar6") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_00056853:\n          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;" (statement_identifier "LAB_00056853") (: ":") (expression_statement "uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)\n          ;" (assignment_expression "uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)" (identifier "dcgettext") (argument_list "(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Invalid pointer size (%d) in compunit header, using %d instead\n"" (" """) (string_content "Invalid pointer size (%d) in compunit header, using %d instead") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "warn(uVar10,bVar6,local_f0);" (call_expression "warn(uVar10,bVar6,local_f0)" (identifier "warn") (argument_list "(uVar10,bVar6,local_f0)" (( "(") (identifier "uVar10") (, ",") (identifier "bVar6") (, ",") (identifier "local_f0") () ")"))) (; ";")) (expression_statement "bVar6 = (byte)local_f0;" (assignment_expression "bVar6 = (byte)local_f0" (identifier "bVar6") (= "=") (cast_expression "(byte)local_f0" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_f0"))) (; ";")) (} "}")) (else_clause "else {\nLAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;\n        }" (else "else") (compound_statement "{\nLAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;\n        }" ({ "{") (labeled_statement "LAB_00056c57:\n          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;" (statement_identifier "LAB_00056c57") (: ":") (if_statement "if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;" (if "if") (parenthesized_expression "(6 < (byte)(bVar6 - 2))" (( "(") (binary_expression "6 < (byte)(bVar6 - 2)" (number_literal "6") (< "<") (call_expression "(byte)(bVar6 - 2)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(bVar6 - 2)" (( "(") (binary_expression "bVar6 - 2" (identifier "bVar6") (- "-") (number_literal "2")) () ")")))) () ")")) (goto_statement "goto LAB_00056853;" (goto "goto") (statement_identifier "LAB_00056853") (; ";")))) (} "}")))) (if_statement "if (param_5 != 0) {\n          pcVar18 = pcVar17 + 8;\n          if (pcVar25 < pcVar18) {\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }\n          else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }\n          pcVar17 = pcVar18 + local_f0;\n          uVar13 = local_f0;\n          if ((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }\n        }" (if "if") (parenthesized_expression "(param_5 != 0)" (( "(") (binary_expression "param_5 != 0" (identifier "param_5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          pcVar18 = pcVar17 + 8;\n          if (pcVar25 < pcVar18) {\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }\n          else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }\n          pcVar17 = pcVar18 + local_f0;\n          uVar13 = local_f0;\n          if ((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }\n        }" ({ "{") (expression_statement "pcVar18 = pcVar17 + 8;" (assignment_expression "pcVar18 = pcVar17 + 8" (identifier "pcVar18") (= "=") (binary_expression "pcVar17 + 8" (identifier "pcVar17") (+ "+") (number_literal "8"))) (; ";")) (if_statement "if (pcVar25 < pcVar18) {\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }\n          else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }" (if "if") (parenthesized_expression "(pcVar25 < pcVar18)" (( "(") (binary_expression "pcVar25 < pcVar18" (identifier "pcVar25") (< "<") (identifier "pcVar18")) () ")")) (compound_statement "{\n            local_6c = 0;\n            local_68 = 0;\n            local_64 = 0;\n            local_60 = 0;\n          }" ({ "{") (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" (identifier "local_6c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" (identifier "local_68") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" (identifier "local_64") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" (identifier "local_60") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }" (else "else") (compound_statement "{\n            FUN_000670f0(pcVar17,&local_6c,&local_64);\n          }" ({ "{") (expression_statement "FUN_000670f0(pcVar17,&local_6c,&local_64);" (call_expression "FUN_000670f0(pcVar17,&local_6c,&local_64)" (identifier "FUN_000670f0") (argument_list "(pcVar17,&local_6c,&local_64)" (( "(") (identifier "pcVar17") (, ",") (pointer_expression "&local_6c" (& "&") (identifier "local_6c")) (, ",") (pointer_expression "&local_64" (& "&") (identifier "local_64")) () ")"))) (; ";")) (} "}")))) (expression_statement "pcVar17 = pcVar18 + local_f0;" (assignment_expression "pcVar17 = pcVar18 + local_f0" (identifier "pcVar17") (= "=") (binary_expression "pcVar18 + local_f0" (identifier "pcVar18") (+ "+") (identifier "local_f0"))) (; ";")) (expression_statement "uVar13 = local_f0;" (assignment_expression "uVar13 = local_f0" (identifier "uVar13") (= "=") (identifier "local_f0")) (; ";")) (if_statement "if ((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }" (if "if") (parenthesized_expression "((pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8))))" (( "(") (binary_expression "(pcVar17 < pcVar25) ||\n             ((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))" (parenthesized_expression "(pcVar17 < pcVar25)" (( "(") (binary_expression "pcVar17 < pcVar25" (identifier "pcVar17") (< "<") (identifier "pcVar25")) () ")")) (|| "||") (parenthesized_expression "((pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))" (( "(") (parenthesized_expression "(pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8))" (( "(") (binary_expression "pcVar18 < pcVar25 &&\n              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)" (binary_expression "pcVar18 < pcVar25" (identifier "pcVar18") (< "<") (identifier "pcVar25")) (&& "&&") (parenthesized_expression "(uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)" (( "(") (comma_expression "uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8" (assignment_expression "uVar13 = (int)pcVar25 - (int)pcVar18" (identifier "uVar13") (= "=") (binary_expression "(int)pcVar25 - (int)pcVar18" (cast_expression "(int)pcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar25")) (- "-") (cast_expression "(int)pcVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar18")))) (, ",") (binary_expression "((int)pcVar25 - (int)pcVar18) - 1U < 8" (binary_expression "((int)pcVar25 - (int)pcVar18) - 1U" (parenthesized_expression "((int)pcVar25 - (int)pcVar18)" (( "(") (binary_expression "(int)pcVar25 - (int)pcVar18" (cast_expression "(int)pcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar25")) (- "-") (cast_expression "(int)pcVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar18"))) () ")")) (- "-") (number_literal "1U")) (< "<") (number_literal "8"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n            (*DAT_000b9dd8)(pcVar18,uVar13);\n          }" ({ "{") (expression_statement "(*DAT_000b9dd8)(pcVar18,uVar13);" (call_expression "(*DAT_000b9dd8)(pcVar18,uVar13)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(pcVar18,uVar13)" (( "(") (identifier "pcVar18") (, ",") (identifier "uVar13") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar13 = DAT_000b9dd4;" (assignment_expression "uVar13 = DAT_000b9dd4" (identifier "uVar13") (= "=") (identifier "DAT_000b9dd4")) (; ";")) (expression_statement "uVar11 = local_d4 + uVar8;" (assignment_expression "uVar11 = local_d4 + uVar8" (identifier "uVar11") (= "=") (binary_expression "local_d4 + uVar8" (identifier "local_d4") (+ "+") (identifier "uVar8"))) (; ";")) (expression_statement "lVar4 = lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8;" (assignment_expression "lVar4 = lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8" (identifier "lVar4") (= "=") (binary_expression "lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8" (binary_expression "lVar28 + CONCAT44(uVar9,local_cc)" (identifier "lVar28") (+ "+") (call_expression "CONCAT44(uVar9,local_cc)" (identifier "CONCAT44") (argument_list "(uVar9,local_cc)" (( "(") (identifier "uVar9") (, ",") (identifier "local_cc") () ")")))) (+ "+") (cast_expression "(ulonglong)uVar8" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar8")))) (; ";")) (if_statement "if ((uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4)) {\n          local_f4 = pcVar15 + uVar11 + local_ec;\n        }\n        else {\n          if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);\n          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);\n          if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + local_d4 + local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }\n        }" (if "if") (parenthesized_expression "((uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4))" (( "(") (binary_expression "(uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4)" (call_expression "(uint)((ulonglong)lVar4 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)lVar4 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar4 >> 0x20" (cast_expression "(ulonglong)lVar4" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar4")) (>> ">>") (number_literal "0x20")) () ")"))) (< "<") (call_expression "(uint)((uint)lVar4 < DAT_000b9dd4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uint)lVar4 < DAT_000b9dd4)" (( "(") (binary_expression "(uint)lVar4 < DAT_000b9dd4" (cast_expression "(uint)lVar4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar4")) (< "<") (identifier "DAT_000b9dd4")) () ")")))) () ")")) (compound_statement "{\n          local_f4 = pcVar15 + uVar11 + local_ec;\n        }" ({ "{") (expression_statement "local_f4 = pcVar15 + uVar11 + local_ec;" (assignment_expression "local_f4 = pcVar15 + uVar11 + local_ec" (identifier "local_f4") (= "=") (binary_expression "pcVar15 + uVar11 + local_ec" (binary_expression "pcVar15 + uVar11" (identifier "pcVar15") (+ "+") (identifier "uVar11")) (+ "+") (identifier "local_ec"))) (; ";")) (} "}")) (else_clause "else {\n          if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);\n          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);\n          if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + local_d4 + local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }\n        }" (else "else") (compound_statement "{\n          if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;\nLAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);\n          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);\n          if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }\n          local_f4 = local_f4 + local_d4 + local_ec;\n          if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }\n        }" ({ "{") (if_statement "if (param_4 == 0) {\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }\n          else if (DAT_000b9d6c == 0) goto LAB_00056993;" (if "if") (parenthesized_expression "(param_4 == 0)" (( "(") (binary_expression "param_4 == 0" (identifier "param_4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }\n            if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }\n          }" ({ "{") (if_statement "if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }" (if "if") (parenthesized_expression "((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0))" (( "(") (binary_expression "(DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)" (parenthesized_expression "(DAT_000b9d90 != 0 || DAT_000b9db4 != 0)" (( "(") (binary_expression "DAT_000b9d90 != 0 || DAT_000b9db4 != 0" (binary_expression "DAT_000b9d90 != 0" (identifier "DAT_000b9d90") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "DAT_000b9db4 != 0" (identifier "DAT_000b9db4") (!= "!=") (number_literal "0"))) () ")")) (&& "&&") (parenthesized_expression "(DAT_000b9d6c == 0)" (( "(") (binary_expression "DAT_000b9d6c == 0" (identifier "DAT_000b9d6c") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\nLAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }\n              if (param_4 != 0) goto LAB_00056a44;\n            }" ({ "{") (labeled_statement "LAB_00056993:\n              if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }" (statement_identifier "LAB_00056993") (: ":") (if_statement "if (param_5 == 0) {\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }" (if "if") (parenthesized_expression "(param_5 == 0)" (( "(") (binary_expression "param_5 == 0" (identifier "param_5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);\n                *puVar12 = (uint)bVar6;\n                puVar12[4] = uVar9;\n                puVar12[3] = uVar8;\n                puVar12[1] = local_f0;\n                puVar12[2] = (uint)local_e2;\n                puVar12[5] = 0;\n                puVar12[6] = 0;\n                puVar12[7] = 0xffffffff;\n                puVar12[8] = 0;\n                puVar12[9] = 0xffffffff;\n                puVar12[10] = 0;\n                puVar12[0xb] = 0;\n                puVar12[0xd] = 0;\n                puVar12[0xf] = 0;\n                puVar12[0xe] = 0;\n                puVar12[0x11] = 0;\n                puVar12[0x13] = 0;\n                puVar12[0x12] = 0;\n              }" ({ "{") (expression_statement "puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);" (assignment_expression "puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64)" (identifier "puVar12") (= "=") (cast_expression "(uint *)(local_a4 * 0x50 + (int)DAT_000b9d64)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_a4 * 0x50 + (int)DAT_000b9d64)" (( "(") (binary_expression "local_a4 * 0x50 + (int)DAT_000b9d64" (binary_expression "local_a4 * 0x50" (identifier "local_a4") (* "*") (number_literal "0x50")) (+ "+") (cast_expression "(int)DAT_000b9d64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "DAT_000b9d64"))) () ")")))) (; ";")) (expression_statement "*puVar12 = (uint)bVar6;" (assignment_expression "*puVar12 = (uint)bVar6" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (= "=") (cast_expression "(uint)bVar6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar6"))) (; ";")) (expression_statement "puVar12[4] = uVar9;" (assignment_expression "puVar12[4] = uVar9" (subscript_expression "puVar12[4]" (identifier "puVar12") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "puVar12[3] = uVar8;" (assignment_expression "puVar12[3] = uVar8" (subscript_expression "puVar12[3]" (identifier "puVar12") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "puVar12[1] = local_f0;" (assignment_expression "puVar12[1] = local_f0" (subscript_expression "puVar12[1]" (identifier "puVar12") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_f0")) (; ";")) (expression_statement "puVar12[2] = (uint)local_e2;" (assignment_expression "puVar12[2] = (uint)local_e2" (subscript_expression "puVar12[2]" (identifier "puVar12") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(uint)local_e2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_e2"))) (; ";")) (expression_statement "puVar12[5] = 0;" (assignment_expression "puVar12[5] = 0" (subscript_expression "puVar12[5]" (identifier "puVar12") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar12[6] = 0;" (assignment_expression "puVar12[6] = 0" (subscript_expression "puVar12[6]" (identifier "puVar12") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar12[7] = 0xffffffff;" (assignment_expression "puVar12[7] = 0xffffffff" (subscript_expression "puVar12[7]" (identifier "puVar12") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "puVar12[8] = 0;" (assignment_expression "puVar12[8] = 0" (subscript_expression "puVar12[8]" (identifier "puVar12") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar12[9] = 0xffffffff;" (assignment_expression "puVar12[9] = 0xffffffff" (subscript_expression "puVar12[9]" (identifier "puVar12") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "puVar12[10] = 0;" (assignment_expression "puVar12[10] = 0" (subscript_expression "puVar12[10]" (identifier "puVar12") ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar12[0xb] = 0;" (assignment_expression "puVar12[0xb] = 0" (subscript_expression "puVar12[0xb]" (identifier "puVar12") ([ "[") (number_literal "0xb") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar12[0xd] = 0;" (assignment_expression "puVar12[0xd] = 0" (subscript_expression "puVar12[0xd]" (identifier "puVar12") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar12[0xf] = 0;" (assignment_expression "puVar12[0xf] = 0" (subscript_expression "puVar12[0xf]" (identifier "puVar12") ([ "[") (number_literal "0xf") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar12[0xe] = 0;" (assignment_expression "puVar12[0xe] = 0" (subscript_expression "puVar12[0xe]" (identifier "puVar12") ([ "[") (number_literal "0xe") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar12[0x11] = 0;" (assignment_expression "puVar12[0x11] = 0" (subscript_expression "puVar12[0x11]" (identifier "puVar12") ([ "[") (number_literal "0x11") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar12[0x13] = 0;" (assignment_expression "puVar12[0x13] = 0" (subscript_expression "puVar12[0x13]" (identifier "puVar12") ([ "[") (number_literal "0x13") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar12[0x12] = 0;" (assignment_expression "puVar12[0x12] = 0" (subscript_expression "puVar12[0x12]" (identifier "puVar12") ([ "[") (number_literal "0x12") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}")))) (if_statement "if (param_4 != 0) goto LAB_00056a44;" (if "if") (parenthesized_expression "(param_4 != 0)" (( "(") (binary_expression "param_4 != 0" (identifier "param_4") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00056a44;" (goto "goto") (statement_identifier "LAB_00056a44") (; ";"))) (} "}"))) (if_statement "if (uVar13 == 0) {\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }" (if "if") (parenthesized_expression "(uVar13 == 0)" (( "(") (binary_expression "uVar13 == 0" (identifier "uVar13") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = "64-bit";\n              if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }\n              uVar10 = FUN_0004cb50(0);\n              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);\n              printf(pcVar16,uVar10,pcVar18);\n              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);\n              printf(pcVar18,(uint)local_e2);\n              uVar10 = FUN_0004cb50(0);\n              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);\n              printf(pcVar18,uVar10);\n              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);\n              printf(pcVar18,(uint)bVar6);\n              if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }\n              if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }\n            }" ({ "{") (expression_statement "uVar10 = FUN_0004cb50(0);" (assignment_expression "uVar10 = FUN_0004cb50(0)" (identifier "uVar10") (= "=") (call_expression "FUN_0004cb50(0)" (identifier "FUN_0004cb50") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5)" (identifier "pcVar18") (= "=") (cast_expression "(char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5)" (identifier "dcgettext") (argument_list "(0,"  Compilation Unit @ offset 0x%s:\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  Compilation Unit @ offset 0x%s:\n"" (" """) (string_content "  Compilation Unit @ offset 0x%s:") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar18,uVar10);" (call_expression "printf(pcVar18,uVar10)" (identifier "printf") (argument_list "(pcVar18,uVar10)" (( "(") (identifier "pcVar18") (, ",") (identifier "uVar10") () ")"))) (; ";")) (expression_statement "pcVar18 = "64-bit";" (assignment_expression "pcVar18 = "64-bit"" (identifier "pcVar18") (= "=") (string_literal ""64-bit"" (" """) (string_content "64-bit") (" """))) (; ";")) (if_statement "if (local_f0 != 8) {\n                pcVar18 = "32-bit";\n              }" (if "if") (parenthesized_expression "(local_f0 != 8)" (( "(") (binary_expression "local_f0 != 8" (identifier "local_f0") (!= "!=") (number_literal "8")) () ")")) (compound_statement "{\n                pcVar18 = "32-bit";\n              }" ({ "{") (expression_statement "pcVar18 = "32-bit";" (assignment_expression "pcVar18 = "32-bit"" (identifier "pcVar18") (= "=") (string_literal ""32-bit"" (" """) (string_content "32-bit") (" """))) (; ";")) (} "}"))) (expression_statement "uVar10 = FUN_0004cb50(0);" (assignment_expression "uVar10 = FUN_0004cb50(0)" (identifier "uVar10") (= "=") (call_expression "FUN_0004cb50(0)" (identifier "FUN_0004cb50") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);" (assignment_expression "pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5)" (identifier "pcVar16") (= "=") (cast_expression "(char *)dcgettext(0,"   Length:        0x%s (%s)\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"   Length:        0x%s (%s)\n",5)" (identifier "dcgettext") (argument_list "(0,"   Length:        0x%s (%s)\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""   Length:        0x%s (%s)\n"" (" """) (string_content "   Length:        0x%s (%s)") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar16,uVar10,pcVar18);" (call_expression "printf(pcVar16,uVar10,pcVar18)" (identifier "printf") (argument_list "(pcVar16,uVar10,pcVar18)" (( "(") (identifier "pcVar16") (, ",") (identifier "uVar10") (, ",") (identifier "pcVar18") () ")"))) (; ";")) (expression_statement "pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5)" (identifier "pcVar18") (= "=") (cast_expression "(char *)dcgettext(0,"   Version:       %d\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"   Version:       %d\n",5)" (identifier "dcgettext") (argument_list "(0,"   Version:       %d\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""   Version:       %d\n"" (" """) (string_content "   Version:       %d") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar18,(uint)local_e2);" (call_expression "printf(pcVar18,(uint)local_e2)" (identifier "printf") (argument_list "(pcVar18,(uint)local_e2)" (( "(") (identifier "pcVar18") (, ",") (cast_expression "(uint)local_e2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_e2")) () ")"))) (; ";")) (expression_statement "uVar10 = FUN_0004cb50(0);" (assignment_expression "uVar10 = FUN_0004cb50(0)" (identifier "uVar10") (= "=") (call_expression "FUN_0004cb50(0)" (identifier "FUN_0004cb50") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5)" (identifier "pcVar18") (= "=") (cast_expression "(char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"   Abbrev Offset: 0x%s\n",5)" (identifier "dcgettext") (argument_list "(0,"   Abbrev Offset: 0x%s\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""   Abbrev Offset: 0x%s\n"" (" """) (string_content "   Abbrev Offset: 0x%s") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar18,uVar10);" (call_expression "printf(pcVar18,uVar10)" (identifier "printf") (argument_list "(pcVar18,uVar10)" (( "(") (identifier "pcVar18") (, ",") (identifier "uVar10") () ")"))) (; ";")) (expression_statement "pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5)" (identifier "pcVar18") (= "=") (cast_expression "(char *)dcgettext(0,"   Pointer Size:  %d\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"   Pointer Size:  %d\n",5)" (identifier "dcgettext") (argument_list "(0,"   Pointer Size:  %d\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""   Pointer Size:  %d\n"" (" """) (string_content "   Pointer Size:  %d") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar18,(uint)bVar6);" (call_expression "printf(pcVar18,(uint)bVar6)" (identifier "printf") (argument_list "(pcVar18,(uint)bVar6)" (( "(") (identifier "pcVar18") (, ",") (cast_expression "(uint)bVar6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar6")) () ")"))) (; ";")) (if_statement "if (param_5 != 0) {\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }" (if "if") (parenthesized_expression "(param_5 != 0)" (( "(") (binary_expression "param_5 != 0" (identifier "param_5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);\n                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);\n                printf(pcVar18,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);\n                printf(pcVar18,uVar10);\n              }" ({ "{") (expression_statement "uVar10 = FUN_0004eae0(local_64,local_60,local_5c);" (assignment_expression "uVar10 = FUN_0004eae0(local_64,local_60,local_5c)" (identifier "uVar10") (= "=") (call_expression "FUN_0004eae0(local_64,local_60,local_5c)" (identifier "FUN_0004eae0") (argument_list "(local_64,local_60,local_5c)" (( "(") (identifier "local_64") (, ",") (identifier "local_60") (, ",") (identifier "local_5c") () ")")))) (; ";")) (expression_statement "pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5)" (identifier "pcVar18") (= "=") (cast_expression "(char *)dcgettext(0,"   Signature:     0x%s\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"   Signature:     0x%s\n",5)" (identifier "dcgettext") (argument_list "(0,"   Signature:     0x%s\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""   Signature:     0x%s\n"" (" """) (string_content "   Signature:     0x%s") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar18,uVar10);" (call_expression "printf(pcVar18,uVar10)" (identifier "printf") (argument_list "(pcVar18,uVar10)" (( "(") (identifier "pcVar18") (, ",") (identifier "uVar10") () ")"))) (; ";")) (expression_statement "uVar10 = FUN_0004cb50(0);" (assignment_expression "uVar10 = FUN_0004cb50(0)" (identifier "uVar10") (= "=") (call_expression "FUN_0004cb50(0)" (identifier "FUN_0004cb50") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5)" (identifier "pcVar18") (= "=") (cast_expression "(char *)dcgettext(0,"   Type Offset:   0x%s\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"   Type Offset:   0x%s\n",5)" (identifier "dcgettext") (argument_list "(0,"   Type Offset:   0x%s\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""   Type Offset:   0x%s\n"" (" """) (string_content "   Type Offset:   0x%s") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar18,uVar10);" (call_expression "printf(pcVar18,uVar10)" (identifier "printf") (argument_list "(pcVar18,uVar10)" (( "(") (identifier "pcVar18") (, ",") (identifier "uVar10") () ")"))) (; ";")) (} "}"))) (if_statement "if (iVar26 != 0) {\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }" (if "if") (parenthesized_expression "(iVar26 != 0)" (( "(") (binary_expression "iVar26 != 0" (identifier "iVar26") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);\n                printf(pcVar18);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n                uVar10 = FUN_0004cb50(0);\n                uVar14 = FUN_0004cb50(0);\n                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);\n                printf(pcVar18,uVar14,uVar10);\n              }" ({ "{") (expression_statement "pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5)" (identifier "pcVar18") (= "=") (cast_expression "(char *)dcgettext(0,"   Section contributions:\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"   Section contributions:\n",5)" (identifier "dcgettext") (argument_list "(0,"   Section contributions:\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""   Section contributions:\n"" (" """) (string_content "   Section contributions:") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar18);" (call_expression "printf(pcVar18)" (identifier "printf") (argument_list "(pcVar18)" (( "(") (identifier "pcVar18") () ")"))) (; ";")) (expression_statement "uVar10 = FUN_0004cb50(0);" (assignment_expression "uVar10 = FUN_0004cb50(0)" (identifier "uVar10") (= "=") (call_expression "FUN_0004cb50(0)" (identifier "FUN_0004cb50") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "uVar14 = FUN_0004cb50(0);" (assignment_expression "uVar14 = FUN_0004cb50(0)" (identifier "uVar14") (= "=") (call_expression "FUN_0004cb50(0)" (identifier "FUN_0004cb50") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5)" (identifier "pcVar18") (= "=") (cast_expression "(char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5)" (identifier "dcgettext") (argument_list "(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""    .debug_abbrev.dwo:       0x%s  0x%s\n"" (" """) (string_content "    .debug_abbrev.dwo:       0x%s  0x%s") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar18,uVar14,uVar10);" (call_expression "printf(pcVar18,uVar14,uVar10)" (identifier "printf") (argument_list "(pcVar18,uVar14,uVar10)" (( "(") (identifier "pcVar18") (, ",") (identifier "uVar14") (, ",") (identifier "uVar10") () ")"))) (; ";")) (expression_statement "uVar10 = FUN_0004cb50(0);" (assignment_expression "uVar10 = FUN_0004cb50(0)" (identifier "uVar10") (= "=") (call_expression "FUN_0004cb50(0)" (identifier "FUN_0004cb50") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "uVar14 = FUN_0004cb50(0);" (assignment_expression "uVar14 = FUN_0004cb50(0)" (identifier "uVar14") (= "=") (call_expression "FUN_0004cb50(0)" (identifier "FUN_0004cb50") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5)" (identifier "pcVar18") (= "=") (cast_expression "(char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5)" (identifier "dcgettext") (argument_list "(0,"    .debug_line.dwo:         0x%s  0x%s\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""    .debug_line.dwo:         0x%s  0x%s\n"" (" """) (string_content "    .debug_line.dwo:         0x%s  0x%s") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar18,uVar14,uVar10);" (call_expression "printf(pcVar18,uVar14,uVar10)" (identifier "printf") (argument_list "(pcVar18,uVar14,uVar10)" (( "(") (identifier "pcVar18") (, ",") (identifier "uVar14") (, ",") (identifier "uVar10") () ")"))) (; ";")) (expression_statement "uVar10 = FUN_0004cb50(0);" (assignment_expression "uVar10 = FUN_0004cb50(0)" (identifier "uVar10") (= "=") (call_expression "FUN_0004cb50(0)" (identifier "FUN_0004cb50") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "uVar14 = FUN_0004cb50(0);" (assignment_expression "uVar14 = FUN_0004cb50(0)" (identifier "uVar14") (= "=") (call_expression "FUN_0004cb50(0)" (identifier "FUN_0004cb50") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5)" (identifier "pcVar18") (= "=") (cast_expression "(char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5)" (identifier "dcgettext") (argument_list "(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""    .debug_loc.dwo:          0x%s  0x%s\n"" (" """) (string_content "    .debug_loc.dwo:          0x%s  0x%s") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar18,uVar14,uVar10);" (call_expression "printf(pcVar18,uVar14,uVar10)" (identifier "printf") (argument_list "(pcVar18,uVar14,uVar10)" (( "(") (identifier "pcVar18") (, ",") (identifier "uVar14") (, ",") (identifier "uVar10") () ")"))) (; ";")) (expression_statement "uVar10 = FUN_0004cb50(0);" (assignment_expression "uVar10 = FUN_0004cb50(0)" (identifier "uVar10") (= "=") (call_expression "FUN_0004cb50(0)" (identifier "FUN_0004cb50") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "uVar14 = FUN_0004cb50(0);" (assignment_expression "uVar14 = FUN_0004cb50(0)" (identifier "uVar14") (= "=") (call_expression "FUN_0004cb50(0)" (identifier "FUN_0004cb50") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5)" (identifier "pcVar18") (= "=") (cast_expression "(char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5)" (identifier "dcgettext") (argument_list "(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""    .debug_str_offsets.dwo:  0x%s  0x%s\n"" (" """) (string_content "    .debug_str_offsets.dwo:  0x%s  0x%s") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar18,uVar14,uVar10);" (call_expression "printf(pcVar18,uVar14,uVar10)" (identifier "printf") (argument_list "(pcVar18,uVar14,uVar10)" (( "(") (identifier "pcVar18") (, ",") (identifier "uVar14") (, ",") (identifier "uVar10") () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else if (DAT_000b9d6c == 0) goto LAB_00056993;" (else "else") (if_statement "if (DAT_000b9d6c == 0) goto LAB_00056993;" (if "if") (parenthesized_expression "(DAT_000b9d6c == 0)" (( "(") (binary_expression "DAT_000b9d6c == 0" (identifier "DAT_000b9d6c") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00056993;" (goto "goto") (statement_identifier "LAB_00056993") (; ";"))))) (labeled_statement "LAB_00056a44:\n          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);" (statement_identifier "LAB_00056a44") (: ":") (expression_statement "uVar13 = (uint)(lVar28 + (ulonglong)uVar11);" (assignment_expression "uVar13 = (uint)(lVar28 + (ulonglong)uVar11)" (identifier "uVar13") (= "=") (call_expression "(uint)(lVar28 + (ulonglong)uVar11)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(lVar28 + (ulonglong)uVar11)" (( "(") (binary_expression "lVar28 + (ulonglong)uVar11" (identifier "lVar28") (+ "+") (cast_expression "(ulonglong)uVar11" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar11"))) () ")")))) (; ";"))) (expression_statement "uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);" (assignment_expression "uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20)" (identifier "uVar23") (= "=") (call_expression "(uint)(lVar28 + (ulonglong)uVar11 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(lVar28 + (ulonglong)uVar11 >> 0x20)" (( "(") (binary_expression "lVar28 + (ulonglong)uVar11 >> 0x20" (binary_expression "lVar28 + (ulonglong)uVar11" (identifier "lVar28") (+ "+") (cast_expression "(ulonglong)uVar11" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar11"))) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (if_statement "if ((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }" (if "if") (parenthesized_expression "((uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13)))" (( "(") (binary_expression "(uVar23 < (uVar13 < uVar11)) ||\n             (*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))" (parenthesized_expression "(uVar23 < (uVar13 < uVar11))" (( "(") (binary_expression "uVar23 < (uVar13 < uVar11)" (identifier "uVar23") (< "<") (parenthesized_expression "(uVar13 < uVar11)" (( "(") (binary_expression "uVar13 < uVar11" (identifier "uVar13") (< "<") (identifier "uVar11")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))" (( "(") (binary_expression "*(uint *)(param_1 + 0x20) < uVar23 ||\n              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13)" (binary_expression "*(uint *)(param_1 + 0x20) < uVar23" (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 "uVar23")) (|| "||") (binary_expression "*(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13)" (binary_expression "*(uint *)(param_1 + 0x20) - uVar23" (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 "uVar23")) (< "<") (call_expression "(uint)(*(uint *)(param_1 + 0x1c) < uVar13)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(uint *)(param_1 + 0x1c) < uVar13)" (( "(") (binary_expression "*(uint *)(param_1 + 0x1c) < uVar13" (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")) () ")")))) (< "<") (identifier "uVar13")) () ")"))))) () ")"))) () ")")) (compound_statement "{\n            uVar14 = FUN_0004cb50(0);\n            uVar10 = *(undefined4 *)(param_1 + 8);\n            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n            warn(uVar20,uVar10,uVar8,uVar14);\n            local_90 = local_a4;\n            break;\n          }" ({ "{") (expression_statement "uVar14 = FUN_0004cb50(0);" (assignment_expression "uVar14 = FUN_0004cb50(0)" (identifier "uVar14") (= "=") (call_expression "FUN_0004cb50(0)" (identifier "FUN_0004cb50") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "uVar10 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar10 = *(undefined4 *)(param_1 + 8)" (identifier "uVar10") (= "=") (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 "uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);" (assignment_expression "uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5)" (identifier "uVar20") (= "=") (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(uVar20,uVar10,uVar8,uVar14);" (call_expression "warn(uVar20,uVar10,uVar8,uVar14)" (identifier "warn") (argument_list "(uVar20,uVar10,uVar8,uVar14)" (( "(") (identifier "uVar20") (, ",") (identifier "uVar10") (, ",") (identifier "uVar8") (, ",") (identifier "uVar14") () ")"))) (; ";")) (expression_statement "local_90 = local_a4;" (assignment_expression "local_90 = local_a4" (identifier "local_90") (= "=") (identifier "local_a4")) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "local_f4 = local_f4 + local_d4 + local_ec;" (assignment_expression "local_f4 = local_f4 + local_d4 + local_ec" (identifier "local_f4") (= "=") (binary_expression "local_f4 + local_d4 + local_ec" (binary_expression "local_f4 + local_d4" (identifier "local_f4") (+ "+") (identifier "local_d4")) (+ "+") (identifier "local_ec"))) (; ";")) (if_statement "if ((ushort)(local_e2 - 2) < 4) {\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }\n          else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }" (if "if") (parenthesized_expression "((ushort)(local_e2 - 2) < 4)" (( "(") (binary_expression "(ushort)(local_e2 - 2) < 4" (call_expression "(ushort)(local_e2 - 2)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "(local_e2 - 2)" (( "(") (binary_expression "local_e2 - 2" (identifier "local_e2") (- "-") (number_literal "2")) () ")"))) (< "<") (number_literal "4")) () ")")) (compound_statement "{\n            if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }\n          }" ({ "{") (if_statement "if (local_b4 - 1U < 2) {\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }\n            else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }" (if "if") (parenthesized_expression "(local_b4 - 1U < 2)" (( "(") (binary_expression "local_b4 - 1U < 2" (binary_expression "local_b4 - 1U" (identifier "local_b4") (- "-") (number_literal "1U")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n              FUN_0004ce90();\n              if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }\n              if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }\n            }" ({ "{") (expression_statement "FUN_0004ce90();" (call_expression "FUN_0004ce90()" (identifier "FUN_0004ce90") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (local_a0 < (local_b0 < local_ac)) {\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }\n              else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }" (if "if") (parenthesized_expression "(local_a0 < (local_b0 < local_ac))" (( "(") (binary_expression "local_a0 < (local_b0 < local_ac)" (identifier "local_a0") (< "<") (parenthesized_expression "(local_b0 < local_ac)" (( "(") (binary_expression "local_b0 < local_ac" (identifier "local_b0") (< "<") (identifier "local_ac")) () ")"))) () ")")) (compound_statement "{\n                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);\n                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);\n                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }\n              }" ({ "{") (expression_statement "uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);" (assignment_expression "uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40)" (identifier "uVar13") (= "=") (pointer_expression "*(uint *)(&DAT_000b485c + param_3 * 0x40)" (* "*") (cast_expression "(uint *)(&DAT_000b485c + param_3 * 0x40)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_000b485c + param_3 * 0x40)" (( "(") (binary_expression "&DAT_000b485c + param_3 * 0x40" (pointer_expression "&DAT_000b485c" (& "&") (identifier "DAT_000b485c")) (+ "+") (binary_expression "param_3 * 0x40" (identifier "param_3") (* "*") (number_literal "0x40"))) () ")"))))) (; ";")) (expression_statement "uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);" (assignment_expression "uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c)" (identifier "uVar11") (= "=") (binary_expression "local_98 + (uint)CARRY4(local_ac,local_9c)" (identifier "local_98") (+ "+") (cast_expression "(uint)CARRY4(local_ac,local_9c)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(local_ac,local_9c)" (identifier "CARRY4") (argument_list "(local_ac,local_9c)" (( "(") (identifier "local_ac") (, ",") (identifier "local_9c") () ")")))))) (; ";")) (if_statement "if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)) {\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }\n                else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }" (if "if") (parenthesized_expression "(*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c))" (( "(") (binary_expression "*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||\n                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)" (binary_expression "*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11" (pointer_expression "*(uint *)(&DAT_000b4860 + param_3 * 0x40)" (* "*") (cast_expression "(uint *)(&DAT_000b4860 + param_3 * 0x40)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_000b4860 + param_3 * 0x40)" (( "(") (binary_expression "&DAT_000b4860 + param_3 * 0x40" (pointer_expression "&DAT_000b4860" (& "&") (identifier "DAT_000b4860")) (+ "+") (binary_expression "param_3 * 0x40" (identifier "param_3") (* "*") (number_literal "0x40"))) () ")")))) (< "<") (identifier "uVar11")) (|| "||") (binary_expression "*(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <\n                    (uint)(uVar13 < local_ac + local_9c)" (binary_expression "*(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11" (pointer_expression "*(uint *)(&DAT_000b4860 + param_3 * 0x40)" (* "*") (cast_expression "(uint *)(&DAT_000b4860 + param_3 * 0x40)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_000b4860 + param_3 * 0x40)" (( "(") (binary_expression "&DAT_000b4860 + param_3 * 0x40" (pointer_expression "&DAT_000b4860" (& "&") (identifier "DAT_000b4860")) (+ "+") (binary_expression "param_3 * 0x40" (identifier "param_3") (* "*") (number_literal "0x40"))) () ")")))) (- "-") (identifier "uVar11")) (< "<") (call_expression "(uint)(uVar13 < local_ac + local_9c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar13 < local_ac + local_9c)" (( "(") (binary_expression "uVar13 < local_ac + local_9c" (identifier "uVar13") (< "<") (binary_expression "local_ac + local_9c" (identifier "local_ac") (+ "+") (identifier "local_9c"))) () ")"))))) () ")")) (compound_statement "{\n                  uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);\n                  warn(uVar10,local_ac + local_9c,uVar13);\n                }" ({ "{") (expression_statement "uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5);" (assignment_expression "uVar10 = dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5)" (identifier "dcgettext") (argument_list "(0,\n                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"\n                                     ,5)" (( "(") (number_literal "0") (, ",") (string_literal ""Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"" (" """) (string_content "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar10,local_ac + local_9c,uVar13);" (call_expression "warn(uVar10,local_ac + local_9c,uVar13)" (identifier "warn") (argument_list "(uVar10,local_ac + local_9c,uVar13)" (( "(") (identifier "uVar10") (, ",") (binary_expression "local_ac + local_9c" (identifier "local_ac") (+ "+") (identifier "local_9c")) (, ",") (identifier "uVar13") () ")"))) (; ";")) (} "}")) (else_clause "else if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }" (else "else") (if_statement "if (DAT_000b9ce4 == (int *)0x0) {\n                  FUN_0004fb10();\n                }" (if "if") (parenthesized_expression "(DAT_000b9ce4 == (int *)0x0)" (( "(") (binary_expression "DAT_000b9ce4 == (int *)0x0" (identifier "DAT_000b9ce4") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  FUN_0004fb10();\n                }" ({ "{") (expression_statement "FUN_0004fb10();" (call_expression "FUN_0004fb10()" (identifier "FUN_0004fb10") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))))) (} "}")) (else_clause "else {\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }" (else "else") (compound_statement "{\n                uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);\n                warn(uVar10,local_b0,local_ac);\n              }" ({ "{") (expression_statement "uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5);" (assignment_expression "uVar10 = dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5)" (identifier "dcgettext") (argument_list "(0,\n                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"\n                                   ,5)" (( "(") (number_literal "0") (, ",") (string_literal ""Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"" (" """) (string_content "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar10,local_b0,local_ac);" (call_expression "warn(uVar10,local_b0,local_ac)" (identifier "warn") (argument_list "(uVar10,local_b0,local_ac)" (( "(") (identifier "uVar10") (, ",") (identifier "local_b0") (, ",") (identifier "local_ac") () ")"))) (; ";")) (} "}")))) (if_statement "if (pcVar17 < local_f4) {\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }" (if "if") (parenthesized_expression "(pcVar17 < local_f4)" (( "(") (binary_expression "pcVar17 < local_f4" (identifier "pcVar17") (< "<") (identifier "local_f4")) () ")")) (compound_statement "{\n                local_78 = -1;\n                local_70 = 0;\n                local_d4 = 0;\n                do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);\n              }" ({ "{") (expression_statement "local_78 = -1;" (assignment_expression "local_78 = -1" (identifier "local_78") (= "=") (number_literal "-1")) (; ";")) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" (identifier "local_70") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_d4 = 0;" (assignment_expression "local_d4 = 0" (identifier "local_d4") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                } while (pcVar17 < local_f4);" (do "do") (compound_statement "{\n                  uVar11 = (int)pcVar17 - (int)pcVar15;\n                  uVar13 = 0;\n                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);\n                  pcVar17 = pcVar17 + local_5c[0];\n                  if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }\n                }" ({ "{") (expression_statement "uVar11 = (int)pcVar17 - (int)pcVar15;" (assignment_expression "uVar11 = (int)pcVar17 - (int)pcVar15" (identifier "uVar11") (= "=") (binary_expression "(int)pcVar17 - (int)pcVar15" (cast_expression "(int)pcVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar17")) (- "-") (cast_expression "(int)pcVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar15")))) (; ";")) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);" (assignment_expression "iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4)" (identifier "iVar7") (= "=") (call_expression "FUN_0004f990(pcVar17,local_5c,0,local_f4)" (identifier "FUN_0004f990") (argument_list "(pcVar17,local_5c,0,local_f4)" (( "(") (identifier "pcVar17") (, ",") (identifier "local_5c") (, ",") (number_literal "0") (, ",") (identifier "local_f4") () ")")))) (; ";")) (expression_statement "pcVar17 = pcVar17 + local_5c[0];" (assignment_expression "pcVar17 = pcVar17 + local_5c[0]" (identifier "pcVar17") (= "=") (binary_expression "pcVar17 + local_5c[0]" (identifier "pcVar17") (+ "+") (subscript_expression "local_5c[0]" (identifier "local_5c") ([ "[") (number_literal "0") (] "]")))) (; ";")) (if_statement "if (iVar7 == 0) {\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }\n                  else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }\nLAB_00057428:\n                    local_d4 = iVar7;\n                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }\n                  }" ({ "{") (if_statement "if ((local_d4 == 0) && (pcVar25 == local_f4)) {\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }\n                    else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }" (if "if") (parenthesized_expression "((local_d4 == 0) && (pcVar25 == local_f4))" (( "(") (binary_expression "(local_d4 == 0) && (pcVar25 == local_f4)" (parenthesized_expression "(local_d4 == 0)" (( "(") (binary_expression "local_d4 == 0" (identifier "local_d4") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(pcVar25 == local_f4)" (( "(") (binary_expression "pcVar25 == local_f4" (identifier "pcVar25") (== "==") (identifier "local_f4")) () ")"))) () ")")) (compound_statement "{\n                      pcVar18 = pcVar17;\n                      if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }\nLAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }\n                    }" ({ "{") (expression_statement "pcVar18 = pcVar17;" (assignment_expression "pcVar18 = pcVar17" (identifier "pcVar18") (= "=") (identifier "pcVar17")) (; ";")) (if_statement "if (pcVar17 < local_f4) {\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }\n                      else if (local_f4 == pcVar17) break;" (if "if") (parenthesized_expression "(pcVar17 < local_f4)" (( "(") (binary_expression "pcVar17 < local_f4" (identifier "pcVar17") (< "<") (identifier "local_f4")) () ")")) (compound_statement "{\n                        while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }\n                      }" ({ "{") (while_statement "while (*pcVar18 == '\0') {\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }" (while "while") (parenthesized_expression "(*pcVar18 == '\0')" (( "(") (binary_expression "*pcVar18 == '\0'" (pointer_expression "*pcVar18" (* "*") (identifier "pcVar18")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                          pcVar18 = pcVar18 + 1;\n                          if (local_f4 == pcVar18) goto LAB_00056ae6;\n                        }" ({ "{") (expression_statement "pcVar18 = pcVar18 + 1;" (assignment_expression "pcVar18 = pcVar18 + 1" (identifier "pcVar18") (= "=") (binary_expression "pcVar18 + 1" (identifier "pcVar18") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (local_f4 == pcVar18) goto LAB_00056ae6;" (if "if") (parenthesized_expression "(local_f4 == pcVar18)" (( "(") (binary_expression "local_f4 == pcVar18" (identifier "local_f4") (== "==") (identifier "pcVar18")) () ")")) (goto_statement "goto LAB_00056ae6;" (goto "goto") (statement_identifier "LAB_00056ae6") (; ";"))) (} "}"))) (} "}")) (else_clause "else if (local_f4 == pcVar17) break;" (else "else") (if_statement "if (local_f4 == pcVar17) break;" (if "if") (parenthesized_expression "(local_f4 == pcVar17)" (( "(") (binary_expression "local_f4 == pcVar17" (identifier "local_f4") (== "==") (identifier "pcVar17")) () ")")) (break_statement "break;" (break "break") (; ";"))))) (if_statement "if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }\n                      else {\n                        iVar7 = -1;\n                      }" (if "if") (parenthesized_expression "(((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1))))" (( "(") (binary_expression "((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))" (parenthesized_expression "((param_4 == 0) && (DAT_000b9dd4 <= uVar11))" (( "(") (binary_expression "(param_4 == 0) && (DAT_000b9dd4 <= uVar11)" (parenthesized_expression "(param_4 == 0)" (( "(") (binary_expression "param_4 == 0" (identifier "param_4") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(DAT_000b9dd4 <= uVar11)" (( "(") (binary_expression "DAT_000b9dd4 <= uVar11" (identifier "DAT_000b9dd4") (<= "<=") (identifier "uVar11")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((0 < DAT_000b4828 || (DAT_000b4828 == -1)))" (( "(") (parenthesized_expression "(0 < DAT_000b4828 || (DAT_000b4828 == -1))" (( "(") (binary_expression "0 < DAT_000b4828 || (DAT_000b4828 == -1)" (binary_expression "0 < DAT_000b4828" (number_literal "0") (< "<") (identifier "DAT_000b4828")) (|| "||") (parenthesized_expression "(DAT_000b4828 == -1)" (( "(") (binary_expression "DAT_000b4828 == -1" (identifier "DAT_000b4828") (== "==") (number_literal "-1")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n                        iVar7 = -1;\nLAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);\n                        printf(pcVar18,local_d4,uVar11);\n                        if (-1 < iVar7) goto LAB_00057428;\n                      }" ({ "{") (expression_statement "iVar7 = -1;" (assignment_expression "iVar7 = -1" (identifier "iVar7") (= "=") (number_literal "-1")) (; ";")) (labeled_statement "LAB_00057496:\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);" (statement_identifier "LAB_00057496") (: ":") (expression_statement "pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5)" (identifier "pcVar18") (= "=") (cast_expression "(char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5)" (identifier "dcgettext") (argument_list "(0," <%d><%lx>: Abbrev Number: 0\n",5)" (( "(") (number_literal "0") (, ",") (string_literal "" <%d><%lx>: Abbrev Number: 0\n"" (" """) (string_content " <%d><%lx>: Abbrev Number: 0") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";"))) (expression_statement "printf(pcVar18,local_d4,uVar11);" (call_expression "printf(pcVar18,local_d4,uVar11)" (identifier "printf") (argument_list "(pcVar18,local_d4,uVar11)" (( "(") (identifier "pcVar18") (, ",") (identifier "local_d4") (, ",") (identifier "uVar11") () ")"))) (; ";")) (if_statement "if (-1 < iVar7) goto LAB_00057428;" (if "if") (parenthesized_expression "(-1 < iVar7)" (( "(") (binary_expression "-1 < iVar7" (number_literal "-1") (< "<") (identifier "iVar7")) () ")")) (goto_statement "goto LAB_00057428;" (goto "goto") (statement_identifier "LAB_00057428") (; ";"))) (} "}")) (else_clause "else {\n                        iVar7 = -1;\n                      }" (else "else") (compound_statement "{\n                        iVar7 = -1;\n                      }" ({ "{") (expression_statement "iVar7 = -1;" (assignment_expression "iVar7 = -1" (identifier "iVar7") (= "=") (number_literal "-1")) (; ";")) (} "}")))) (labeled_statement "LAB_000574d0:\n                      if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }" (statement_identifier "LAB_000574d0") (: ":") (if_statement "if (DAT_000b7ca4 < 3) {\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }" (if "if") (parenthesized_expression "(DAT_000b7ca4 < 3)" (( "(") (binary_expression "DAT_000b7ca4 < 3" (identifier "DAT_000b7ca4") (< "<") (number_literal "3")) () ")")) (compound_statement "{\n                        uVar10 = *(undefined4 *)(param_1 + 8);\n                        uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);\n                        warn(uVar14,uVar11,uVar10);\n                        DAT_000b7ca4 = DAT_000b7ca4 + 1;\n                        if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }\n                      }" ({ "{") (expression_statement "uVar10 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar10 = *(undefined4 *)(param_1 + 8)" (identifier "uVar10") (= "=") (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 "uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5);" (assignment_expression "uVar14 = dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5)" (identifier "uVar14") (= "=") (call_expression "dcgettext(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5)" (identifier "dcgettext") (argument_list "(0,\n                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"\n                                           ,5)" (( "(") (number_literal "0") (, ",") (string_literal ""Bogus end-of-siblings marker detected at offset %lx in %s section\n"" (" """) (string_content "Bogus end-of-siblings marker detected at offset %lx in %s section") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar14,uVar11,uVar10);" (call_expression "warn(uVar14,uVar11,uVar10)" (identifier "warn") (argument_list "(uVar14,uVar11,uVar10)" (( "(") (identifier "uVar14") (, ",") (identifier "uVar11") (, ",") (identifier "uVar10") () ")"))) (; ";")) (expression_statement "DAT_000b7ca4 = DAT_000b7ca4 + 1;" (assignment_expression "DAT_000b7ca4 = DAT_000b7ca4 + 1" (identifier "DAT_000b7ca4") (= "=") (binary_expression "DAT_000b7ca4 + 1" (identifier "DAT_000b7ca4") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (DAT_000b7ca4 == 3) {\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }" (if "if") (parenthesized_expression "(DAT_000b7ca4 == 3)" (( "(") (binary_expression "DAT_000b7ca4 == 3" (identifier "DAT_000b7ca4") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n                          uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);\n                          warn(uVar10);\n                        }" ({ "{") (expression_statement "uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5);" (assignment_expression "uVar10 = dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5)" (identifier "dcgettext") (argument_list "(0,\n                                             "Further warnings about bogus end-of-sibling markers suppressed\n"\n                                             ,5)" (( "(") (number_literal "0") (, ",") (string_literal ""Further warnings about bogus end-of-sibling markers suppressed\n"" (" """) (string_content "Further warnings about bogus end-of-sibling markers suppressed") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar10);" (call_expression "warn(uVar10)" (identifier "warn") (argument_list "(uVar10)" (( "(") (identifier "uVar10") () ")"))) (; ";")) (} "}"))) (} "}")))) (} "}")) (else_clause "else {\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }" (else "else") (compound_statement "{\n                      iVar7 = local_d4 + -1;\n                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;\n                      if (iVar7 < 0) goto LAB_000574d0;\n                    }" ({ "{") (expression_statement "iVar7 = local_d4 + -1;" (assignment_expression "iVar7 = local_d4 + -1" (identifier "iVar7") (= "=") (binary_expression "local_d4 + -1" (identifier "local_d4") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;" (if "if") (parenthesized_expression "(((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1))))" (( "(") (binary_expression "((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&\n                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))" (parenthesized_expression "((param_4 == 0) && (DAT_000b9dd4 <= uVar11))" (( "(") (binary_expression "(param_4 == 0) && (DAT_000b9dd4 <= uVar11)" (parenthesized_expression "(param_4 == 0)" (( "(") (binary_expression "param_4 == 0" (identifier "param_4") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(DAT_000b9dd4 <= uVar11)" (( "(") (binary_expression "DAT_000b9dd4 <= uVar11" (identifier "DAT_000b9dd4") (<= "<=") (identifier "uVar11")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))" (( "(") (parenthesized_expression "(local_d4 < DAT_000b4828 || (DAT_000b4828 == -1))" (( "(") (binary_expression "local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)" (binary_expression "local_d4 < DAT_000b4828" (identifier "local_d4") (< "<") (identifier "DAT_000b4828")) (|| "||") (parenthesized_expression "(DAT_000b4828 == -1)" (( "(") (binary_expression "DAT_000b4828 == -1" (identifier "DAT_000b4828") (== "==") (number_literal "-1")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_00057496;" (goto "goto") (statement_identifier "LAB_00057496") (; ";"))) (if_statement "if (iVar7 < 0) goto LAB_000574d0;" (if "if") (parenthesized_expression "(iVar7 < 0)" (( "(") (binary_expression "iVar7 < 0" (identifier "iVar7") (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_000574d0;" (goto "goto") (statement_identifier "LAB_000574d0") (; ";"))) (} "}")))) (labeled_statement "LAB_00057428:\n                    local_d4 = iVar7;" (statement_identifier "LAB_00057428") (: ":") (expression_statement "local_d4 = iVar7;" (assignment_expression "local_d4 = iVar7" (identifier "local_d4") (= "=") (identifier "iVar7")) (; ";"))) (if_statement "if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {\n                      return 1;\n                    }" (if "if") (parenthesized_expression "((DAT_000b9dd4 != 0) && (iVar7 < local_78))" (( "(") (binary_expression "(DAT_000b9dd4 != 0) && (iVar7 < local_78)" (parenthesized_expression "(DAT_000b9dd4 != 0)" (( "(") (binary_expression "DAT_000b9dd4 != 0" (identifier "DAT_000b9dd4") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar7 < local_78)" (( "(") (binary_expression "iVar7 < local_78" (identifier "iVar7") (< "<") (identifier "local_78")) () ")"))) () ")")) (compound_statement "{\n                      return 1;\n                    }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }" (else "else") (compound_statement "{\n                    if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }\nLAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }\n                    iVar1 = *DAT_000b9ce4;\n                    piVar2 = DAT_000b9ce4;\n                    while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }\n                    iVar7 = piVar2[1];\n                    if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }\n                    if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }\n                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }\n                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);\n                  }" ({ "{") (if_statement "if (param_4 == 0) {\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }\n                    else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }" (if "if") (parenthesized_expression "(param_4 == 0)" (( "(") (binary_expression "param_4 == 0" (identifier "param_4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }\n                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;\n                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                    }" ({ "{") (if_statement "if (DAT_000b9dd4 != 0) {\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }" (if "if") (parenthesized_expression "(DAT_000b9dd4 != 0)" (( "(") (binary_expression "DAT_000b9dd4 != 0" (identifier "DAT_000b9dd4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                        if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }\n                        if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }\n                      }" ({ "{") (if_statement "if (uVar11 < DAT_000b9dd4) {\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }" (if "if") (parenthesized_expression "(uVar11 < DAT_000b9dd4)" (( "(") (binary_expression "uVar11 < DAT_000b9dd4" (identifier "uVar11") (< "<") (identifier "DAT_000b9dd4")) () ")")) (compound_statement "{\n                          bVar21 = false;\n                          iVar22 = 0;\n                          goto LAB_0005783c;\n                        }" ({ "{") (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" (identifier "bVar21") (= "=") (false "false")) (; ";")) (expression_statement "iVar22 = 0;" (assignment_expression "iVar22 = 0" (identifier "iVar22") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0005783c;" (goto "goto") (statement_identifier "LAB_0005783c") (; ";")) (} "}"))) (if_statement "if (DAT_000b9dd4 == uVar11) {\n                          local_78 = local_d4;\n                        }" (if "if") (parenthesized_expression "(DAT_000b9dd4 == uVar11)" (( "(") (binary_expression "DAT_000b9dd4 == uVar11" (identifier "DAT_000b9dd4") (== "==") (identifier "uVar11")) () ")")) (compound_statement "{\n                          local_78 = local_d4;\n                        }" ({ "{") (expression_statement "local_78 = local_d4;" (assignment_expression "local_78 = local_d4" (identifier "local_78") (= "=") (identifier "local_d4")) (; ";")) (} "}"))) (} "}"))) (expression_statement "bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;" (assignment_expression "bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828" (identifier "bVar21") (= "=") (binary_expression "DAT_000b4828 == -1 || local_d4 < DAT_000b4828" (binary_expression "DAT_000b4828 == -1" (identifier "DAT_000b4828") (== "==") (number_literal "-1")) (|| "||") (binary_expression "local_d4 < DAT_000b4828" (identifier "local_d4") (< "<") (identifier "DAT_000b4828")))) (; ";")) (if_statement "if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }\n                      else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }" (if "if") (parenthesized_expression "(DAT_000b4828 == -1 || local_d4 < DAT_000b4828)" (( "(") (binary_expression "DAT_000b4828 == -1 || local_d4 < DAT_000b4828" (binary_expression "DAT_000b4828 == -1" (identifier "DAT_000b4828") (== "==") (number_literal "-1")) (|| "||") (binary_expression "local_d4 < DAT_000b4828" (identifier "local_d4") (< "<") (identifier "DAT_000b4828"))) () ")")) (compound_statement "{\n                        uVar13 = 5;\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);\n                        printf(pcVar18,local_d4,uVar11,iVar7);\n                        local_70 = local_d4;\n                        iVar22 = 1;\n                      }" ({ "{") (expression_statement "uVar13 = 5;" (assignment_expression "uVar13 = 5" (identifier "uVar13") (= "=") (number_literal "5")) (; ";")) (expression_statement "pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5)" (identifier "pcVar18") (= "=") (cast_expression "(char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5)" (identifier "dcgettext") (argument_list "(0," <%d><%lx>: Abbrev Number: %lu",5)" (( "(") (number_literal "0") (, ",") (string_literal "" <%d><%lx>: Abbrev Number: %lu"" (" """) (string_content " <%d><%lx>: Abbrev Number: %lu") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar18,local_d4,uVar11,iVar7);" (call_expression "printf(pcVar18,local_d4,uVar11,iVar7)" (identifier "printf") (argument_list "(pcVar18,local_d4,uVar11,iVar7)" (( "(") (identifier "pcVar18") (, ",") (identifier "local_d4") (, ",") (identifier "uVar11") (, ",") (identifier "iVar7") () ")"))) (; ";")) (expression_statement "local_70 = local_d4;" (assignment_expression "local_70 = local_d4" (identifier "local_70") (= "=") (identifier "local_d4")) (; ";")) (expression_statement "iVar22 = 1;" (assignment_expression "iVar22 = 1" (identifier "iVar22") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }" (else "else") (if_statement "if (local_70 < DAT_000b4828) {\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }\n                      else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }" (if "if") (parenthesized_expression "(local_70 < DAT_000b4828)" (( "(") (binary_expression "local_70 < DAT_000b4828" (identifier "local_70") (< "<") (identifier "DAT_000b4828")) () ")")) (compound_statement "{\n                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);\n                        uVar13 = uVar11;\n                        printf(pcVar18,local_d4,uVar11);\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }" ({ "{") (expression_statement "pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5)" (identifier "pcVar18") (= "=") (cast_expression "(char *)dcgettext(0," <%d><%lx>: ...\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0," <%d><%lx>: ...\n",5)" (identifier "dcgettext") (argument_list "(0," <%d><%lx>: ...\n",5)" (( "(") (number_literal "0") (, ",") (string_literal "" <%d><%lx>: ...\n"" (" """) (string_content " <%d><%lx>: ...") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "uVar13 = uVar11;" (assignment_expression "uVar13 = uVar11" (identifier "uVar13") (= "=") (identifier "uVar11")) (; ";")) (expression_statement "printf(pcVar18,local_d4,uVar11);" (call_expression "printf(pcVar18,local_d4,uVar11)" (identifier "printf") (argument_list "(pcVar18,local_d4,uVar11)" (( "(") (identifier "pcVar18") (, ",") (identifier "local_d4") (, ",") (identifier "uVar11") () ")"))) (; ";")) (expression_statement "local_70 = local_d4;" (assignment_expression "local_70 = local_d4" (identifier "local_70") (= "=") (identifier "local_d4")) (; ";")) (expression_statement "iVar22 = 0;" (assignment_expression "iVar22 = 0" (identifier "iVar22") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }" (else "else") (compound_statement "{\n                        local_70 = local_d4;\n                        iVar22 = 0;\n                      }" ({ "{") (expression_statement "local_70 = local_d4;" (assignment_expression "local_70 = local_d4" (identifier "local_70") (= "=") (identifier "local_d4")) (; ";")) (expression_statement "iVar22 = 0;" (assignment_expression "iVar22 = 0" (identifier "iVar22") (= "=") (number_literal "0")) (; ";")) (} "}")))))) (} "}")) (else_clause "else {\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }" (else "else") (compound_statement "{\n                      bVar21 = false;\n                      iVar22 = param_4;\n                    }" ({ "{") (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" (identifier "bVar21") (= "=") (false "false")) (; ";")) (expression_statement "iVar22 = param_4;" (assignment_expression "iVar22 = param_4" (identifier "iVar22") (= "=") (identifier "param_4")) (; ";")) (} "}")))) (labeled_statement "LAB_0005783c:\n                    if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }" (statement_identifier "LAB_0005783c") (: ":") (if_statement "if (DAT_000b9ce4 == (int *)0x0) {\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }" (if "if") (parenthesized_expression "(DAT_000b9ce4 == (int *)0x0)" (( "(") (binary_expression "DAT_000b9ce4 == (int *)0x0" (identifier "DAT_000b9ce4") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }\n                      uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);\n                      warn(uVar10,uVar11,iVar7);\n                      return 0;\n                    }" ({ "{") (labeled_statement "LAB_00057dbe:\n                      if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }" (statement_identifier "LAB_00057dbe") (: ":") (if_statement "if (bVar21) {\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }" (if "if") (parenthesized_expression "(bVar21)" (( "(") (identifier "bVar21") () ")")) (compound_statement "{\n                        putchar(10);\n                        fflush(*(FILE **)PTR_stdout_000b3fd8);\n                      }" ({ "{") (expression_statement "putchar(10);" (call_expression "putchar(10)" (identifier "putchar") (argument_list "(10)" (( "(") (number_literal "10") () ")"))) (; ";")) (expression_statement "fflush(*(FILE **)PTR_stdout_000b3fd8);" (call_expression "fflush(*(FILE **)PTR_stdout_000b3fd8)" (identifier "fflush") (argument_list "(*(FILE **)PTR_stdout_000b3fd8)" (( "(") (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 "uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5);" (assignment_expression "uVar10 = dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5)" (identifier "dcgettext") (argument_list "(0,\n                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"\n                                         ,5)" (( "(") (number_literal "0") (, ",") (string_literal ""DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"" (" """) (string_content "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar10,uVar11,iVar7);" (call_expression "warn(uVar10,uVar11,iVar7)" (identifier "warn") (argument_list "(uVar10,uVar11,iVar7)" (( "(") (identifier "uVar10") (, ",") (identifier "uVar11") (, ",") (identifier "iVar7") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))) (expression_statement "iVar1 = *DAT_000b9ce4;" (assignment_expression "iVar1 = *DAT_000b9ce4" (identifier "iVar1") (= "=") (pointer_expression "*DAT_000b9ce4" (* "*") (identifier "DAT_000b9ce4"))) (; ";")) (expression_statement "piVar2 = DAT_000b9ce4;" (assignment_expression "piVar2 = DAT_000b9ce4" (identifier "piVar2") (= "=") (identifier "DAT_000b9ce4")) (; ";")) (while_statement "while (iVar1 != iVar7) {\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }" (while "while") (parenthesized_expression "(iVar1 != iVar7)" (( "(") (binary_expression "iVar1 != iVar7" (identifier "iVar1") (!= "!=") (identifier "iVar7")) () ")")) (compound_statement "{\n                      piVar2 = (int *)piVar2[5];\n                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;\n                      iVar1 = *piVar2;\n                    }" ({ "{") (expression_statement "piVar2 = (int *)piVar2[5];" (assignment_expression "piVar2 = (int *)piVar2[5]" (identifier "piVar2") (= "=") (cast_expression "(int *)piVar2[5]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar2[5]" (identifier "piVar2") ([ "[") (number_literal "5") (] "]")))) (; ";")) (if_statement "if (piVar2 == (int *)0x0) goto LAB_00057dbe;" (if "if") (parenthesized_expression "(piVar2 == (int *)0x0)" (( "(") (binary_expression "piVar2 == (int *)0x0" (identifier "piVar2") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00057dbe;" (goto "goto") (statement_identifier "LAB_00057dbe") (; ";"))) (expression_statement "iVar1 = *piVar2;" (assignment_expression "iVar1 = *piVar2" (identifier "iVar1") (= "=") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) (; ";")) (} "}"))) (expression_statement "iVar7 = piVar2[1];" (assignment_expression "iVar7 = piVar2[1]" (identifier "iVar7") (= "=") (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (bVar21) {\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }" (if "if") (parenthesized_expression "(bVar21)" (( "(") (identifier "bVar21") () ")")) (compound_statement "{\n                      uVar10 = FUN_0004e780();\n                      printf(" (%s)\n",uVar10,uVar13);\n                      iVar7 = piVar2[1];\n                    }" ({ "{") (expression_statement "uVar10 = FUN_0004e780();" (assignment_expression "uVar10 = FUN_0004e780()" (identifier "uVar10") (= "=") (call_expression "FUN_0004e780()" (identifier "FUN_0004e780") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "printf(" (%s)\n",uVar10,uVar13);" (call_expression "printf(" (%s)\n",uVar10,uVar13)" (identifier "printf") (argument_list "(" (%s)\n",uVar10,uVar13)" (( "(") (string_literal "" (%s)\n"" (" """) (string_content " (%s)") (escape_sequence "\n") (" """)) (, ",") (identifier "uVar10") (, ",") (identifier "uVar13") () ")"))) (; ";")) (expression_statement "iVar7 = piVar2[1];" (assignment_expression "iVar7 = piVar2[1]" (identifier "iVar7") (= "=") (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (} "}"))) (if_statement "if (iVar7 == 0x11) {\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }\n                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }" (if "if") (parenthesized_expression "(iVar7 == 0x11)" (( "(") (binary_expression "iVar7 == 0x11" (identifier "iVar7") (== "==") (number_literal "0x11")) () ")")) (compound_statement "{\n                      DAT_000b9d70 = 1;\n                      DAT_000b9d4c = param_4;\n                    }" ({ "{") (expression_statement "DAT_000b9d70 = 1;" (assignment_expression "DAT_000b9d70 = 1" (identifier "DAT_000b9d70") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_000b9d4c = param_4;" (assignment_expression "DAT_000b9d4c = param_4" (identifier "DAT_000b9d4c") (= "=") (identifier "param_4")) (; ";")) (} "}")) (else_clause "else if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }" (else "else") (if_statement "if ((iVar7 == 0x2e) || (iVar7 == 3)) {\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }\n                    else {\n                      DAT_000b9d70 = 0;\n                    }" (if "if") (parenthesized_expression "((iVar7 == 0x2e) || (iVar7 == 3))" (( "(") (binary_expression "(iVar7 == 0x2e) || (iVar7 == 3)" (parenthesized_expression "(iVar7 == 0x2e)" (( "(") (binary_expression "iVar7 == 0x2e" (identifier "iVar7") (== "==") (number_literal "0x2e")) () ")")) (|| "||") (parenthesized_expression "(iVar7 == 3)" (( "(") (binary_expression "iVar7 == 3" (identifier "iVar7") (== "==") (number_literal "3")) () ")"))) () ")")) (compound_statement "{\n                      DAT_000b9d70 = 0;\n                      DAT_000b9d74 = 0;\n                    }" ({ "{") (expression_statement "DAT_000b9d70 = 0;" (assignment_expression "DAT_000b9d70 = 0" (identifier "DAT_000b9d70") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_000b9d74 = 0;" (assignment_expression "DAT_000b9d74 = 0" (identifier "DAT_000b9d74") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n                      DAT_000b9d70 = 0;\n                    }" (else "else") (compound_statement "{\n                      DAT_000b9d70 = 0;\n                    }" ({ "{") (expression_statement "DAT_000b9d70 = 0;" (assignment_expression "DAT_000b9d70 = 0" (identifier "DAT_000b9d70") (= "=") (number_literal "0")) (; ";")) (} "}")))))) (if_statement "if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)) {\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }\n                    else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }" (if "if") (parenthesized_expression "(((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0))" (( "(") (binary_expression "((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||\n                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)" (parenthesized_expression "((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4))" (( "(") (binary_expression "(DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)" (parenthesized_expression "(DAT_000b9d64 == (void *)0x0)" (( "(") (binary_expression "DAT_000b9d64 == (void *)0x0" (identifier "DAT_000b9d64") (== "==") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(DAT_000b9d68 <= local_a4)" (( "(") (binary_expression "DAT_000b9d68 <= local_a4" (identifier "DAT_000b9d68") (<= "<=") (identifier "local_a4")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0)" (( "(") (comma_expression "pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),\n                       pvVar19 == (void *)0x0" (assignment_expression "pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50)" (identifier "pvVar19") (= "=") (cast_expression "(void *)((int)DAT_000b9d64 + local_a4 * 0x50)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)DAT_000b9d64 + local_a4 * 0x50)" (( "(") (binary_expression "(int)DAT_000b9d64 + local_a4 * 0x50" (cast_expression "(int)DAT_000b9d64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "DAT_000b9d64")) (+ "+") (binary_expression "local_a4 * 0x50" (identifier "local_a4") (* "*") (number_literal "0x50"))) () ")")))) (, ",") (binary_expression "pvVar19 == (void *)0x0" (identifier "pvVar19") (== "==") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n                      piVar24 = (int *)piVar2[3];\n                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }\n                    }" ({ "{") (expression_statement "piVar24 = (int *)piVar2[3];" (assignment_expression "piVar24 = (int *)piVar2[3]" (identifier "piVar24") (= "=") (cast_expression "(int *)piVar2[3]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar2[3]" (identifier "piVar2") ([ "[") (number_literal "3") (] "]")))) (; ";")) (if_statement "if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }" (if "if") (parenthesized_expression "((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0))" (( "(") (binary_expression "(piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)" (parenthesized_expression "(piVar24 != (int *)0x0)" (( "(") (binary_expression "piVar24 != (int *)0x0" (identifier "piVar24") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(pvVar19 = (void *)0x0, *piVar24 != 0)" (( "(") (comma_expression "pvVar19 = (void *)0x0, *piVar24 != 0" (assignment_expression "pvVar19 = (void *)0x0" (identifier "pvVar19") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (, ",") (binary_expression "*piVar24 != 0" (pointer_expression "*piVar24" (* "*") (identifier "piVar24")) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\nLAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));\n                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;\n                      }" ({ "{") (labeled_statement "LAB_000579c3:\n                        do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));" (statement_identifier "LAB_000579c3") (: ":") (do_statement "do {\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));" (do "do") (compound_statement "{\n                          if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }\n                          iVar7 = piVar24[2];\n                          iVar1 = piVar24[3];\n                          if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                        }" ({ "{") (if_statement "if (bVar21) {\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }" (if "if") (parenthesized_expression "(bVar21)" (( "(") (identifier "bVar21") () ")")) (compound_statement "{\n                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);\n                          }" ({ "{") (expression_statement "printf("    <%lx>",(int)pcVar17 - (int)pcVar15);" (call_expression "printf("    <%lx>",(int)pcVar17 - (int)pcVar15)" (identifier "printf") (argument_list "("    <%lx>",(int)pcVar17 - (int)pcVar15)" (( "(") (string_literal ""    <%lx>"" (" """) (string_content "    <%lx>") (" """)) (, ",") (binary_expression "(int)pcVar17 - (int)pcVar15" (cast_expression "(int)pcVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar17")) (- "-") (cast_expression "(int)pcVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar15"))) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar7 = piVar24[2];" (assignment_expression "iVar7 = piVar24[2]" (identifier "iVar7") (= "=") (subscript_expression "piVar24[2]" (identifier "piVar24") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "iVar1 = piVar24[3];" (assignment_expression "iVar1 = piVar24[3]" (identifier "iVar1") (= "=") (subscript_expression "piVar24[3]" (identifier "piVar24") ([ "[") (number_literal "3") (] "]"))) (; ";")) (if_statement "if (iVar22 == 1 && param_4 == 0) {\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }\n                          else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }" (if "if") (parenthesized_expression "(iVar22 == 1 && param_4 == 0)" (( "(") (binary_expression "iVar22 == 1 && param_4 == 0" (binary_expression "iVar22 == 1" (identifier "iVar22") (== "==") (number_literal "1")) (&& "&&") (binary_expression "param_4 == 0" (identifier "param_4") (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n                            uVar10 = FUN_0004e800();\n                            printf("   %-18s:",uVar10);\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);\n                            putchar(10);\n                            piVar24 = (int *)piVar24[4];\n                          }" ({ "{") (expression_statement "uVar10 = FUN_0004e800();" (assignment_expression "uVar10 = FUN_0004e800()" (identifier "uVar10") (= "=") (call_expression "FUN_0004e800()" (identifier "FUN_0004e800") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "printf("   %-18s:",uVar10);" (call_expression "printf("   %-18s:",uVar10)" (identifier "printf") (argument_list "("   %-18s:",uVar10)" (( "(") (string_literal ""   %-18s:"" (" """) (string_content "   %-18s:") (" """)) (, ",") (identifier "uVar10") () ")"))) (; ";")) (expression_statement "pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20);" (assignment_expression "pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20)" (identifier "pcVar17") (= "=") (cast_expression "(char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20)" (identifier "FUN_000530b0") (argument_list "(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,\n                                                           param_1,iVar26,0x20)" (( "(") (identifier "iVar7") (, ",") (identifier "iVar1") (, ",") (identifier "pcVar17") (, ",") (identifier "pcVar25") (, ",") (identifier "uVar8") (, ",") (identifier "uVar9") (, ",") (identifier "bVar6") (, ",") (number_literal "0") (, ",") (identifier "local_f0") (, ",") (number_literal "0") (, ",") (identifier "local_e2") (, ",") (identifier "pvVar19") (, ",") (number_literal "0") (, ",") (identifier "param_1") (, ",") (identifier "iVar26") (, ",") (number_literal "0x20") () ")"))))) (; ";")) (expression_statement "putchar(10);" (call_expression "putchar(10)" (identifier "putchar") (argument_list "(10)" (( "(") (number_literal "10") () ")"))) (; ";")) (expression_statement "piVar24 = (int *)piVar24[4];" (assignment_expression "piVar24 = (int *)piVar24[4]" (identifier "piVar24") (= "=") (cast_expression "(int *)piVar24[4]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar24[4]" (identifier "piVar24") ([ "[") (number_literal "4") (] "]")))) (; ";")) (} "}")) (else_clause "else {\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }" (else "else") (compound_statement "{\n                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);\n                            piVar24 = (int *)piVar24[4];\n                          }" ({ "{") (expression_statement "pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20);" (assignment_expression "pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20)" (identifier "pcVar17") (= "=") (cast_expression "(char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20)" (identifier "FUN_000530b0") (argument_list "(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,\n                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,\n                                                           param_1,iVar26,0x20)" (( "(") (identifier "iVar7") (, ",") (identifier "iVar1") (, ",") (identifier "pcVar17") (, ",") (identifier "pcVar25") (, ",") (identifier "uVar8") (, ",") (identifier "uVar9") (, ",") (identifier "bVar6") (, ",") (number_literal "0") (, ",") (identifier "local_f0") (, ",") (number_literal "0") (, ",") (identifier "local_e2") (, ",") (identifier "pvVar19") (, ",") (number_literal "1") (, ",") (identifier "param_1") (, ",") (identifier "iVar26") (, ",") (number_literal "0x20") () ")"))))) (; ";")) (expression_statement "piVar24 = (int *)piVar24[4];" (assignment_expression "piVar24 = (int *)piVar24[4]" (identifier "piVar24") (= "=") (cast_expression "(int *)piVar24[4]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar24[4]" (identifier "piVar24") ([ "[") (number_literal "4") (] "]")))) (; ";")) (} "}")))) (} "}")) (while "while") (parenthesized_expression "((piVar24 != (int *)0x0) && (*piVar24 != 0))" (( "(") (binary_expression "(piVar24 != (int *)0x0) && (*piVar24 != 0)" (parenthesized_expression "(piVar24 != (int *)0x0)" (( "(") (binary_expression "piVar24 != (int *)0x0" (identifier "piVar24") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(*piVar24 != 0)" (( "(") (binary_expression "*piVar24 != 0" (pointer_expression "*piVar24" (* "*") (identifier "piVar24")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (; ";"))) (if_statement "if (pvVar19 != (void *)0x0) goto LAB_00057a88;" (if "if") (parenthesized_expression "(pvVar19 != (void *)0x0)" (( "(") (binary_expression "pvVar19 != (void *)0x0" (identifier "pvVar19") (!= "!=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00057a88;" (goto "goto") (statement_identifier "LAB_00057a88") (; ";"))) (} "}"))) (} "}")) (else_clause "else {\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }" (else "else") (compound_statement "{\n                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }\n                      piVar24 = (int *)piVar2[3];\n                      if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }\n                    }" ({ "{") (if_statement "if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }" (if "if") (parenthesized_expression "(*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40))" (( "(") (binary_expression "*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)" (pointer_expression "*(int *)((int)pvVar19 + 0x38)" (* "*") (cast_expression "(int *)((int)pvVar19 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar19 + 0x38)" (( "(") (binary_expression "(int)pvVar19 + 0x38" (cast_expression "(int)pvVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar19")) (+ "+") (number_literal "0x38")) () ")")))) (!= "!=") (pointer_expression "*(int *)((int)pvVar19 + 0x40)" (* "*") (cast_expression "(int *)((int)pvVar19 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar19 + 0x40)" (( "(") (binary_expression "(int)pvVar19 + 0x40" (cast_expression "(int)pvVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar19")) (+ "+") (number_literal "0x40")) () ")"))))) () ")")) (compound_statement "{\n                    \n                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");\n                      }" ({ "{") (expression_statement "__assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");" (call_expression "__assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info")" (identifier "__assert_fail") (argument_list "("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"\n                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info")" (( "(") (string_literal ""!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"" (" """) (string_content "!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)") (" """)) (, ",") (string_literal ""../../binutils/dwarf.c"" (" """) (string_content "../../binutils/dwarf.c") (" """)) (, ",") (number_literal "0xc7c") (, ",") (string_literal ""process_debug_info"" (" """) (string_content "process_debug_info") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "piVar24 = (int *)piVar2[3];" (assignment_expression "piVar24 = (int *)piVar2[3]" (identifier "piVar24") (= "=") (cast_expression "(int *)piVar2[3]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar2[3]" (identifier "piVar2") ([ "[") (number_literal "3") (] "]")))) (; ";")) (if_statement "if (piVar24 != (int *)0x0) {\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }" (if "if") (parenthesized_expression "(piVar24 != (int *)0x0)" (( "(") (binary_expression "piVar24 != (int *)0x0" (identifier "piVar24") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                        if (*piVar24 != 0) goto LAB_000579c3;\nLAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);\n                        iVar22 = *(int *)((int)pvVar19 + 0x40);\n                        if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }\n                      }" ({ "{") (if_statement "if (*piVar24 != 0) goto LAB_000579c3;" (if "if") (parenthesized_expression "(*piVar24 != 0)" (( "(") (binary_expression "*piVar24 != 0" (pointer_expression "*piVar24" (* "*") (identifier "piVar24")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000579c3;" (goto "goto") (statement_identifier "LAB_000579c3") (; ";"))) (labeled_statement "LAB_00057a88:\n                        iVar7 = *(int *)((int)pvVar19 + 0x38);" (statement_identifier "LAB_00057a88") (: ":") (expression_statement "iVar7 = *(int *)((int)pvVar19 + 0x38);" (assignment_expression "iVar7 = *(int *)((int)pvVar19 + 0x38)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)((int)pvVar19 + 0x38)" (* "*") (cast_expression "(int *)((int)pvVar19 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar19 + 0x38)" (( "(") (binary_expression "(int)pvVar19 + 0x38" (cast_expression "(int)pvVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar19")) (+ "+") (number_literal "0x38")) () ")"))))) (; ";"))) (expression_statement "iVar22 = *(int *)((int)pvVar19 + 0x40);" (assignment_expression "iVar22 = *(int *)((int)pvVar19 + 0x40)" (identifier "iVar22") (= "=") (pointer_expression "*(int *)((int)pvVar19 + 0x40)" (* "*") (cast_expression "(int *)((int)pvVar19 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar19 + 0x40)" (( "(") (binary_expression "(int)pvVar19 + 0x40" (cast_expression "(int)pvVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar19")) (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (if_statement "if (iVar7 - iVar22 == 1) {\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }\n                        else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }" (if "if") (parenthesized_expression "(iVar7 - iVar22 == 1)" (( "(") (binary_expression "iVar7 - iVar22 == 1" (binary_expression "iVar7 - iVar22" (identifier "iVar7") (- "-") (identifier "iVar22")) (== "==") (number_literal "1")) () ")")) (compound_statement "{\n                          iVar1 = *(int *)((int)pvVar19 + 0x30);\n                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;\n                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;\n                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;\n                          if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }\n                        }" ({ "{") (expression_statement "iVar1 = *(int *)((int)pvVar19 + 0x30);" (assignment_expression "iVar1 = *(int *)((int)pvVar19 + 0x30)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)((int)pvVar19 + 0x30)" (* "*") (cast_expression "(int *)((int)pvVar19 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar19 + 0x30)" (( "(") (binary_expression "(int)pvVar19 + 0x30" (cast_expression "(int)pvVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar19")) (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;" (assignment_expression "*(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff" (pointer_expression "*(undefined4 *)(iVar1 + iVar22 * 8)" (* "*") (cast_expression "(undefined4 *)(iVar1 + iVar22 * 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + iVar22 * 8)" (( "(") (binary_expression "iVar1 + iVar22 * 8" (identifier "iVar1") (+ "+") (binary_expression "iVar22 * 8" (identifier "iVar22") (* "*") (number_literal "8"))) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "*(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;" (assignment_expression "*(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff" (pointer_expression "*(undefined4 *)(iVar1 + 4 + iVar22 * 8)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 4 + iVar22 * 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 4 + iVar22 * 8)" (( "(") (binary_expression "iVar1 + 4 + iVar22 * 8" (binary_expression "iVar1 + 4" (identifier "iVar1") (+ "+") (number_literal "4")) (+ "+") (binary_expression "iVar22 * 8" (identifier "iVar22") (* "*") (number_literal "8"))) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "*(int *)((int)pvVar19 + 0x40) = iVar22 + 1;" (assignment_expression "*(int *)((int)pvVar19 + 0x40) = iVar22 + 1" (pointer_expression "*(int *)((int)pvVar19 + 0x40)" (* "*") (cast_expression "(int *)((int)pvVar19 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar19 + 0x40)" (( "(") (binary_expression "(int)pvVar19 + 0x40" (cast_expression "(int)pvVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar19")) (+ "+") (number_literal "0x40")) () ")")))) (= "=") (binary_expression "iVar22 + 1" (identifier "iVar22") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar22 + 1 != iVar7) {\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }" (if "if") (parenthesized_expression "(iVar22 + 1 != iVar7)" (( "(") (binary_expression "iVar22 + 1 != iVar7" (binary_expression "iVar22 + 1" (identifier "iVar22") (+ "+") (number_literal "1")) (!= "!=") (identifier "iVar7")) () ")")) (compound_statement "{\n                    \n                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");\n                          }" ({ "{") (expression_statement "__assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");" (call_expression "__assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info")" (identifier "__assert_fail") (argument_list "("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"\n                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info")" (( "(") (string_literal ""debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"" (" """) (string_content "debug_info_p->num_loc_views == debug_info_p->num_loc_offsets") (" """)) (, ",") (string_literal ""../../binutils/dwarf.c"" (" """) (string_content "../../binutils/dwarf.c") (" """)) (, ",") (number_literal "0xc9f") (, ",") (string_literal ""process_debug_info"" (" """) (string_content "process_debug_info") (" """)) () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }" (else "else") (if_statement "if (iVar7 != iVar22) {\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }" (if "if") (parenthesized_expression "(iVar7 != iVar22)" (( "(") (binary_expression "iVar7 != iVar22" (identifier "iVar7") (!= "!=") (identifier "iVar22")) () ")")) (compound_statement "{\n                          if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }\n                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);\n                          warn(uVar10);\n                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;\n                        }" ({ "{") (if_statement "if (iVar7 - iVar22 != -1) {\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }" (if "if") (parenthesized_expression "(iVar7 - iVar22 != -1)" (( "(") (binary_expression "iVar7 - iVar22 != -1" (binary_expression "iVar7 - iVar22" (identifier "iVar7") (- "-") (identifier "iVar22")) (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n                    \n                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");\n                          }" ({ "{") (expression_statement "__assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");" (call_expression "__assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info")" (identifier "__assert_fail") (argument_list "("0","../../binutils/dwarf.c",0xcab,"process_debug_info")" (( "(") (string_literal ""0"" (" """) (string_content "0") (" """)) (, ",") (string_literal ""../../binutils/dwarf.c"" (" """) (string_content "../../binutils/dwarf.c") (" """)) (, ",") (number_literal "0xcab") (, ",") (string_literal ""process_debug_info"" (" """) (string_content "process_debug_info") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);" (assignment_expression "uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,"DIE has locviews without loclist\n",5)" (identifier "dcgettext") (argument_list "(0,"DIE has locviews without loclist\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""DIE has locviews without loclist\n"" (" """) (string_content "DIE has locviews without loclist") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar10);" (call_expression "warn(uVar10)" (identifier "warn") (argument_list "(uVar10)" (( "(") (identifier "uVar10") () ")"))) (; ";")) (expression_statement "*(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;" (assignment_expression "*(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1" (pointer_expression "*(int *)((int)pvVar19 + 0x40)" (* "*") (cast_expression "(int *)((int)pvVar19 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar19 + 0x40)" (( "(") (binary_expression "(int)pvVar19 + 0x40" (cast_expression "(int)pvVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar19")) (+ "+") (number_literal "0x40")) () ")")))) (= "=") (binary_expression "*(int *)((int)pvVar19 + 0x40) + -1" (pointer_expression "*(int *)((int)pvVar19 + 0x40)" (* "*") (cast_expression "(int *)((int)pvVar19 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar19 + 0x40)" (( "(") (binary_expression "(int)pvVar19 + 0x40" (cast_expression "(int)pvVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar19")) (+ "+") (number_literal "0x40")) () ")")))) (+ "+") (number_literal "-1"))) (; ";")) (} "}"))))) (} "}"))) (} "}")))) (expression_statement "local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);" (assignment_expression "local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0)" (identifier "local_d4") (= "=") (binary_expression "(local_d4 + 1) - (uint)(piVar2[2] == 0)" (parenthesized_expression "(local_d4 + 1)" (( "(") (binary_expression "local_d4 + 1" (identifier "local_d4") (+ "+") (number_literal "1")) () ")")) (- "-") (call_expression "(uint)(piVar2[2] == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(piVar2[2] == 0)" (( "(") (binary_expression "piVar2[2] == 0" (subscript_expression "piVar2[2]" (identifier "piVar2") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0")) () ")"))))) (; ";")) (} "}")))) (} "}")) (while "while") (parenthesized_expression "(pcVar17 < local_f4)" (( "(") (binary_expression "pcVar17 < local_f4" (identifier "pcVar17") (< "<") (identifier "local_f4")) () ")")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }" (else "else") (compound_statement "{\n              uVar10 = FUN_0004cb50(0);\n              uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);\n              warn(uVar14,uVar10,local_b4);\n            }" ({ "{") (expression_statement "uVar10 = FUN_0004cb50(0);" (assignment_expression "uVar10 = FUN_0004cb50(0)" (identifier "uVar10") (= "=") (call_expression "FUN_0004cb50(0)" (identifier "FUN_0004cb50") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5);" (assignment_expression "uVar14 = dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5)" (identifier "uVar14") (= "=") (call_expression "dcgettext(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5)" (identifier "dcgettext") (argument_list "(0,\n                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",\n                                 5)" (( "(") (number_literal "0") (, ",") (string_literal ""CU at offset %s contains corrupt or unsupported unit type: %d.\n"" (" """) (string_content "CU at offset %s contains corrupt or unsupported unit type: %d.") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar14,uVar10,local_b4);" (call_expression "warn(uVar14,uVar10,local_b4)" (identifier "warn") (argument_list "(uVar14,uVar10,local_b4)" (( "(") (identifier "uVar14") (, ",") (identifier "uVar10") (, ",") (identifier "local_b4") () ")"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }" (else "else") (compound_statement "{\n            uVar10 = FUN_0004cb50(0);\n            uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);\n            warn(uVar14,uVar10,local_e2);\n          }" ({ "{") (expression_statement "uVar10 = FUN_0004cb50(0);" (assignment_expression "uVar10 = FUN_0004cb50(0)" (identifier "uVar10") (= "=") (call_expression "FUN_0004cb50(0)" (identifier "FUN_0004cb50") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5);" (assignment_expression "uVar14 = dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5)" (identifier "uVar14") (= "=") (call_expression "dcgettext(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5)" (identifier "dcgettext") (argument_list "(0,\n                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"\n                               ,5)" (( "(") (number_literal "0") (, ",") (string_literal ""CU at offset %s contains corrupt or unsupported version number: %d.\n"" (" """) (string_content "CU at offset %s contains corrupt or unsupported version number: %d.") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar14,uVar10,local_e2);" (call_expression "warn(uVar14,uVar10,local_e2)" (identifier "warn") (argument_list "(uVar14,uVar10,local_e2)" (( "(") (identifier "uVar14") (, ",") (identifier "uVar10") (, ",") (identifier "local_e2") () ")"))) (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_00056ae6:\n        local_a4 = local_a4 + 1;" (statement_identifier "LAB_00056ae6") (: ":") (expression_statement "local_a4 = local_a4 + 1;" (assignment_expression "local_a4 = local_a4 + 1" (identifier "local_a4") (= "=") (binary_expression "local_a4 + 1" (identifier "local_a4") (+ "+") (number_literal "1"))) (; ";"))) (} "}")) (while "while") (parenthesized_expression "(local_f4 < pcVar25)" (( "(") (binary_expression "local_f4 < pcVar25" (identifier "local_f4") (< "<") (identifier "pcVar25")) () ")")) (; ";")) (if_statement "if (param_4 != 0) goto LAB_00057752;" (if "if") (parenthesized_expression "(param_4 != 0)" (( "(") (binary_expression "param_4 != 0" (identifier "param_4") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00057752;" (goto "goto") (statement_identifier "LAB_00057752") (; ";"))) (} "}"))) (if_statement "if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0))\n    goto LAB_00056b59;" (if "if") (parenthesized_expression "((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0))" (( "(") (binary_expression "(DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0)" (parenthesized_expression "(DAT_000b9d90 == 0 && DAT_000b9db4 == 0)" (( "(") (binary_expression "DAT_000b9d90 == 0 && DAT_000b9db4 == 0" (binary_expression "DAT_000b9d90 == 0" (identifier "DAT_000b9d90") (== "==") (number_literal "0")) (&& "&&") (binary_expression "DAT_000b9db4 == 0" (identifier "DAT_000b9db4") (== "==") (number_literal "0"))) () ")")) (|| "||") (parenthesized_expression "(param_5 != 0 || DAT_000b9d6c != 0)" (( "(") (binary_expression "param_5 != 0 || DAT_000b9d6c != 0" (binary_expression "param_5 != 0" (identifier "param_5") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "DAT_000b9d6c != 0" (identifier "DAT_000b9d6c") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_00056b59;" (goto "goto") (statement_identifier "LAB_00056b59") (; ";"))) (} "}")) (else_clause "else {\n    if (param_5 == 0 && DAT_000b9d6c == 0) goto LAB_00056b86;\n    FUN_0004e130();\n    if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n    local_90 = 0;\n    if (pcVar15 < pcVar25) goto LAB_0005662b;\nLAB_00057752:\n    if (param_5 != 0 || DAT_000b9d6c != 0) {\n      return 1;\n    }\n  }" (else "else") (compound_statement "{\n    if (param_5 == 0 && DAT_000b9d6c == 0) goto LAB_00056b86;\n    FUN_0004e130();\n    if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;\n    local_90 = 0;\n    if (pcVar15 < pcVar25) goto LAB_0005662b;\nLAB_00057752:\n    if (param_5 != 0 || DAT_000b9d6c != 0) {\n      return 1;\n    }\n  }" ({ "{") (if_statement "if (param_5 == 0 && DAT_000b9d6c == 0) goto LAB_00056b86;" (if "if") (parenthesized_expression "(param_5 == 0 && DAT_000b9d6c == 0)" (( "(") (binary_expression "param_5 == 0 && DAT_000b9d6c == 0" (binary_expression "param_5 == 0" (identifier "param_5") (== "==") (number_literal "0")) (&& "&&") (binary_expression "DAT_000b9d6c == 0" (identifier "DAT_000b9d6c") (== "==") (number_literal "0"))) () ")")) (goto_statement "goto LAB_00056b86;" (goto "goto") (statement_identifier "LAB_00056b86") (; ";"))) (expression_statement "FUN_0004e130();" (call_expression "FUN_0004e130()" (identifier "FUN_0004e130") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;" (if "if") (parenthesized_expression "(*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0)" (( "(") (binary_expression "*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0" (pointer_expression "*(int *)(&DAT_000b4850 + param_3 * 0x40)" (* "*") (cast_expression "(int *)(&DAT_000b4850 + param_3 * 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_000b4850 + param_3 * 0x40)" (( "(") (binary_expression "&DAT_000b4850 + param_3 * 0x40" (pointer_expression "&DAT_000b4850" (& "&") (identifier "DAT_000b4850")) (+ "+") (binary_expression "param_3 * 0x40" (identifier "param_3") (* "*") (number_literal "0x40"))) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00057bf6;" (goto "goto") (statement_identifier "LAB_00057bf6") (; ";"))) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" (identifier "local_90") (= "=") (number_literal "0")) (; ";")) (if_statement "if (pcVar15 < pcVar25) goto LAB_0005662b;" (if "if") (parenthesized_expression "(pcVar15 < pcVar25)" (( "(") (binary_expression "pcVar15 < pcVar25" (identifier "pcVar15") (< "<") (identifier "pcVar25")) () ")")) (goto_statement "goto LAB_0005662b;" (goto "goto") (statement_identifier "LAB_0005662b") (; ";"))) (labeled_statement "LAB_00057752:\n    if (param_5 != 0 || DAT_000b9d6c != 0) {\n      return 1;\n    }" (statement_identifier "LAB_00057752") (: ":") (if_statement "if (param_5 != 0 || DAT_000b9d6c != 0) {\n      return 1;\n    }" (if "if") (parenthesized_expression "(param_5 != 0 || DAT_000b9d6c != 0)" (( "(") (binary_expression "param_5 != 0 || DAT_000b9d6c != 0" (binary_expression "param_5 != 0" (identifier "param_5") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "DAT_000b9d6c != 0" (identifier "DAT_000b9d6c") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n      return 1;\n    }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}")))) (} "}")))) (expression_statement "DAT_000b9d6c = DAT_000b9d68;" (assignment_expression "DAT_000b9d6c = DAT_000b9d68" (identifier "DAT_000b9d6c") (= "=") (identifier "DAT_000b9d68")) (; ";")) (if_statement "if (local_90 <= DAT_000b9d68) {\n    DAT_000b9d6c = local_90;\n  }" (if "if") (parenthesized_expression "(local_90 <= DAT_000b9d68)" (( "(") (binary_expression "local_90 <= DAT_000b9d68" (identifier "local_90") (<= "<=") (identifier "DAT_000b9d68")) () ")")) (compound_statement "{\n    DAT_000b9d6c = local_90;\n  }" ({ "{") (expression_statement "DAT_000b9d6c = local_90;" (assignment_expression "DAT_000b9d6c = local_90" (identifier "DAT_000b9d6c") (= "=") (identifier "local_90")) (; ";")) (} "}"))) (if_statement "if (param_4 != 0) {\n    return 1;\n  }" (if "if") (parenthesized_expression "(param_4 != 0)" (( "(") (binary_expression "param_4 != 0" (identifier "param_4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    return 1;\n  }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (labeled_statement "LAB_00056b59:\n  putchar(10);" (statement_identifier "LAB_00056b59") (: ":") (expression_statement "putchar(10);" (call_expression "putchar(10)" (identifier "putchar") (argument_list "(10)" (( "(") (number_literal "10") () ")"))) (; ";"))) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */

type_1 __regparm3
function_1(type_2 *section,void *file,type_3 var_21,
                  type_1 var_2,type_1 var_5)

{
  type_4 *var_1;
  type_5 var_47;
  type_6 var_64;
  type_7 *var_65;
  type_8 *puVar5;
  type_9 *var_73;
  type_10 implicit_const;
  int var_28;
  type_11 var_34;
  type_2 *pdVar9;
  type_5 var_16;
  int var_29;
  type_2 *var_59;
  char *var_54;
  type_5 var_38;
  type_6 var_41;
  type_4 *var_26;
  char *pcVar17;
  type_4 *var_11;
  char *pcVar19;
  bool bVar20;
  type_2 *section_1;
  int var_30;
  type_5 var_46;
  type_4 *var_27;
  type_12 *var_68;
  type_13 *var_69;
  type_4 *var_7;
  type_14 *var_31;
  type_15 var_15;
  type_15 eVar27;
  type_9 dVar28;
  char *in_stack_fffffee8;
  type_4 *var_10;
  type_16 local_104;
  type_4 *var_24;
  type_2 *var_43;
  type_16 var_25;
  type_17 var_32;
  type_2 *var_58;
  type_5 var_37;
  type_18 local_bc;
  int var_33;
  type_2 *var_50;
  type_2 *var_51;
  type_5 var_40;
  type_5 var_49;
  type_5 var_52;
  int var_53;
  type_5 var_17;
  type_2 *local_78;
  type_2 *local_70;
  type_9 signature_high;
  type_9 signature_low;
  char buf [64];
  
  var_1 = section->start;
  var_7 = var_1 + (int)section->size;
  if (var_2 == 0) {
    if ((var_3 == 0 && var_4 == 0) ||
       (var_5 != 0 || var_6 != 0)) {
      var_17 = 0;
    }
    else {
LAB_00056b86:
      var_17 = 0;
      var_10 = var_1;
      if (var_7 <= var_1) {
LAB_00057e2b:
        var_54 = section->name;
        pcVar17 = (char *)var_8(0,"No comp units in %s section ?\n",5);
        var_9(pcVar17,var_54);
        return 0;
      }
      do {
        var_11 = var_10 + 4;
        if (var_7 <= var_11) {
          var_59 = (type_2 *)(var_7 + -(int)var_10);
          pdVar9 = (type_2 *)in_stack_fffffee8;
          if ((type_19 *)((int)&var_59[-1].user_data + 3U) < (type_19 *)0x8)
          goto LAB_000570ed;
LAB_00056bdb:
          in_stack_fffffee8 = (char *)pdVar9;
          var_16 = 0;
LAB_00056bdf:
          pcVar17 = section->name;
          pcVar19 = var_12("x",var_13(in_stack_fffffee8) << 0x20,var_16);
          var_54 = "Corrupt unit length (0x%s) found in section %s\n";
LAB_00056c0d:
          var_54 = (char *)var_8(0,var_54,5);
          var_14(var_54,pcVar19,pcVar17);
          return 0;
        }
        var_59 = (type_2 *)0x4;
LAB_000570ed:
        var_15 = (*byte_get)(var_10,(int)var_59);
        var_16 = (type_5)var_15;
        if (var_15 == 0xffffffff) {
          if (var_10 + 0xc < var_7) {
            in_stack_fffffee8 = (char *)0x8;
          }
          else {
            pdVar9 = var_59;
            if ((var_7 <= var_11) ||
               (in_stack_fffffee8 = (char *)(var_7 + -(int)var_11),
               (type_19 *)0x7 <
               (type_19 *)
               ((int)&((type_2 *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U)))
            goto LAB_00056bdb;
          }
          var_15 = (*byte_get)(var_11,(int)in_stack_fffffee8);
          var_16 = (type_5)var_15;
          var_10 = var_10 + var_16 + 0xc;
          bVar20 = var_10 < var_1 || (int)var_16 < 1;
        }
        else {
          local_104._4_4_ = (int)(var_15 - 0xfffffff0 >> 0x20);
          if (local_104._4_4_ == 0 && (type_5)(0xe < (type_5)local_104) <= (type_5)-local_104._4_4_) {
            pcVar17 = section->name;
            pcVar19 = var_12("x",var_13(var_59) << 0x20,var_16);
            var_54 = "Reserved length value (0x%s) found in section %s\n";
            goto LAB_00056c0d;
          }
          var_10 = var_10 + var_16 + 4;
          bVar20 = (int)var_16 < 1 || var_10 < var_1;
          in_stack_fffffee8 = (char *)var_59;
          local_104 = var_15 - 0xfffffff0;
        }
        if (bVar20) goto LAB_00056bdf;
        var_17 = var_17 + 1;
      } while (var_10 < var_7);
      if (var_17 == 0) goto LAB_00057e2b;
      if (0x3333332 < var_17) {
        var_39 = (type_12 *)0x0;
        var_54 = (char *)var_8(0,"Not enough memory for a debug info array of %u entries\n",5);
        var_9(var_54,var_17);
        var_67 = 0;
        var_6 = 0;
        return 0;
      }
      var_39 = (type_12 *)var_18(var_17 * 0x50);
      in_stack_fffffee8 = (char *)0x0;
      var_19(var_39,0,var_17 * 0x50);
      var_67 = var_17;
      if (var_2 != 0) {
        var_10 = (type_4 *)0x571d3;
        var_20(var_21,file);
        if (*(int *)(&DAT_000b4850 + var_21 * 0x40) == 0) goto LAB_00057bf6;
        var_5 = 0;
        goto LAB_0005662b;
      }
    }
    var_20(str,file);
    var_20(line_str,file);
    var_20(str_dwo,file);
    var_20(str_index,file);
    var_20(str_index_dwo,file);
    var_20(debug_addr,file);
    var_10 = (type_4 *)0x565e3;
    var_20(var_21,file);
    if (*(int *)(&DAT_000b4850 + var_21 * 0x40) == 0) {
LAB_00057bf6:
      puVar5 = (&debug_displays)[var_21 * 0x10];
      var_54 = (char *)var_8(0,"Unable to locate %s section!\n",5);
      var_14(var_54,puVar5);
      return 0;
    }
    if (var_22 == 0) {
      var_10 = (type_4 *)0x57d63;
      var_23((type_2 *)section->name,(type_1)&section->filename,section_1);
    }
    if (var_1 < var_7) {
LAB_0005662b:
      var_40 = 0;
      var_24 = var_1;
      do {
        signature_high._0_4_ = (char *)0x0;
        signature_high._4_4_ = 0;
        signature_low._0_4_ = 0;
        var_11 = var_24 + 4;
        signature_low._4_4_ = 0;
        var_26 = var_11;
        if (var_11 < var_7) {
          pdVar9 = (type_2 *)0x4;
LAB_00056d25:
          var_25 = (*byte_get)(var_24,(int)pdVar9);
          if (var_25 == 0xffffffff) {
            var_26 = var_24 + 0xc;
            if (var_26 < var_7) {
              in_stack_fffffee8 = (char *)0x8;
            }
            else if ((var_7 <= var_11) ||
                    (in_stack_fffffee8 = (char *)(var_7 + -(int)var_11),
                    (type_19 *)0x7 <
                    (type_19 *)
                    ((int)&((type_2 *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U))) {
              var_37 = 0xc;
              var_27 = var_24 + 0xe;
              var_58 = (type_2 *)0xc;
              var_43 = (type_2 *)0x8;
              in_stack_fffffee8 = (char *)pdVar9;
              goto joined_r0x00056d9b;
            }
            var_27 = var_24 + 0xe;
            var_25 = (*byte_get)(var_11,(int)in_stack_fffffee8);
            var_37 = 0xc;
            var_58 = (type_2 *)0xc;
            var_43 = (type_2 *)0x8;
          }
          else {
            var_27 = var_24 + 6;
            var_37 = 4;
            var_58 = (type_2 *)0x4;
            var_43 = (type_2 *)0x4;
            in_stack_fffffee8 = (char *)pdVar9;
          }
          if (var_27 < var_7) {
            pdVar9 = (type_2 *)0x2;
          }
          else if ((var_7 <= var_26) ||
                  (pdVar9 = (type_2 *)(var_7 + -(int)var_26),
                  (type_19 *)0x7 < (type_19 *)((int)&pdVar9[-1].user_data + 3U)))
          goto LAB_00056db1;
LAB_000566e9:
          var_15 = (*byte_get)(var_26,(int)pdVar9);
          var_32 = (type_17)var_15;
          in_stack_fffffee8 = (char *)pdVar9;
        }
        else {
          pdVar9 = (type_2 *)(var_7 + -(int)var_24);
          if ((type_19 *)((int)&pdVar9[-1].user_data + 3U) < (type_19 *)0x8)
          goto LAB_00056d25;
          var_37 = 4;
          var_27 = var_24 + 6;
          var_58 = (type_2 *)0x4;
          var_43 = (type_2 *)0x4;
joined_r0x00056d9b:
          if (var_27 < var_7) {
            pdVar9 = (type_2 *)0x2;
            var_25 = 0;
            goto LAB_000566e9;
          }
          var_25 = 0;
LAB_00056db1:
          var_32 = 0;
        }
        var_16 = (int)var_24 - (int)var_1;
        var_29 = (int)var_16 >> 0x1f;
        if (var_5 == 0) {
          var_30 = 1;
          var_28 = cu_count;
          var_31 = cu_sets;
        }
        else {
          var_30 = 2;
          var_28 = tu_count;
          var_31 = tu_sets;
        }
        for (; var_28 != 0; var_28 = var_28 + -1) {
          if (var_29 == *(int *)((int)var_31->section_offsets + var_30 * 8 + 4) &&
              var_16 == (type_5)var_31->section_offsets[var_30]) goto joined_r0x0005676e;
          var_31 = var_31 + 1;
        }
        var_31 = (type_14 *)0x0;
joined_r0x0005676e:
        if (var_32 < 5) {
          var_33 = 1;
          var_34 = 0xff;
          pdVar9 = (type_2 *)in_stack_fffffee8;
joined_r0x000567df:
          var_11 = var_27 + (int)var_43;
          in_stack_fffffee8 = (char *)var_43;
          if ((var_11 < var_7) ||
             ((var_27 < var_7 &&
              (in_stack_fffffee8 = (char *)(var_7 + -(int)var_27),
              (type_19 *)((int)&((type_2 *)(var_7 + -(int)var_27))[-1].user_data + 3U) <
              (type_19 *)0x8)))) goto LAB_00056caa;
LAB_000567f7:
          var_15 = 0;
          in_stack_fffffee8 = (char *)pdVar9;
          eVar27 = 0;
          if (var_31 != (type_14 *)0x0) goto LAB_0005680f;
LAB_00056cce:
          var_15 = eVar27;
          var_52 = 0;
          var_53 = 0;
          var_51 = *(type_2 **)(&DAT_000b485c + var_21 * 0x40);
        }
        else {
          var_11 = var_26 + 3;
          if (var_11 < var_7) {
            pdVar9 = (type_2 *)0x1;
LAB_00057245:
            var_15 = (*byte_get)(var_27,(int)pdVar9);
            var_33 = (int)var_15;
            var_5 = (type_1)(var_33 == 2);
            var_59 = (type_2 *)0x1;
            if ((var_26 + 4 < var_7) ||
               ((var_11 < var_7 &&
                (var_59 = (type_2 *)(var_7 + -(int)var_11),
                (type_19 *)((int)&var_59[-1].user_data + 3U) < (type_19 *)0x8)))) {
LAB_000567c4:
              var_27 = var_26 + 4;
              var_15 = (*byte_get)(var_11,(int)var_59);
              var_34 = (type_11)var_15;
              pdVar9 = var_59;
              goto joined_r0x000567df;
            }
          }
          else {
            if ((var_27 < var_7) &&
               (pdVar9 = (type_2 *)(var_7 + -(int)var_27),
               (type_19 *)((int)&pdVar9[-1].user_data + 3U) < (type_19 *)0x8))
            goto LAB_00057245;
            var_5 = 0;
            var_33 = 0;
            pdVar9 = (type_2 *)in_stack_fffffee8;
            if (var_26 + 4 < var_7) {
              var_59 = (type_2 *)0x1;
              goto LAB_000567c4;
            }
          }
          var_27 = var_26 + 4;
          var_34 = 0;
          var_11 = var_27 + (int)var_43;
          in_stack_fffffee8 = (char *)var_43;
          if (var_7 <= var_11) goto LAB_000567f7;
LAB_00056caa:
          var_15 = (*byte_get)(var_27,(int)in_stack_fffffee8);
          eVar27 = var_15;
          if (var_31 == (type_14 *)0x0) goto LAB_00056cce;
LAB_0005680f:
          var_52 = (type_5)var_31->section_offsets[3];
          var_53 = *(int *)((int)var_31->section_offsets + 0x1c);
          var_51 = (type_2 *)var_31->section_sizes[3];
        }
        var_26 = var_11;
        if (var_32 < 5) {
          var_26 = var_11 + 1;
          if (var_26 < var_7) {
            in_stack_fffffee8 = (char *)0x1;
LAB_00056c35:
            eVar27 = (*byte_get)(var_11,(int)in_stack_fffffee8);
            var_34 = (type_11)eVar27;
            goto LAB_00056c57;
          }
          if ((var_11 < var_7) &&
             (in_stack_fffffee8 = (char *)(var_7 + -(int)var_11),
             (type_19 *)
             ((int)&((type_2 *)((int)in_stack_fffffee8 + -0x34))->user_data + 3U) <
             (type_19 *)0x8)) goto LAB_00056c35;
          in_stack_fffffee8 = (char *)0x0;
LAB_00056853:
          var_54 = (char *)var_8(0,
                                      "Invalid pointer size (%d) in compunit header, using %d instead\n"
                                      ,5);
          var_14(var_54,in_stack_fffffee8,var_43);
          var_34 = (type_11)var_43;
        }
        else {
LAB_00056c57:
          if (6 < (type_11)(var_34 - 2)) {
            in_stack_fffffee8 = (char *)(type_5)var_34;
            goto LAB_00056853;
          }
        }
        local_bc._0_4_ = 0;
        if (var_5 != 0) {
          var_11 = var_26 + 8;
          if (var_7 < var_11) {
            signature_high._0_4_ = (char *)0x0;
            signature_high._4_4_ = 0;
            signature_low._0_4_ = 0;
            signature_low._4_4_ = 0;
          }
          else {
            in_stack_fffffee8 = (char *)&signature_high;
            var_35(var_26,(type_15 *)in_stack_fffffee8,&signature_low);
          }
          var_26 = var_11 + (int)var_43;
          pdVar9 = var_43;
          if ((var_26 < var_7) ||
             ((local_bc._0_4_ = 0, var_11 < var_7 &&
              (pdVar9 = (type_2 *)(var_7 + -(int)var_11),
              (type_19 *)((int)&((type_2 *)(var_7 + -(int)var_11))[-1].user_data + 3U) <
              (type_19 *)0x8)))) {
            eVar27 = (*byte_get)(var_11,(int)pdVar9);
            local_bc._0_4_ = (type_5)eVar27;
            in_stack_fffffee8 = (char *)pdVar9;
          }
        }
        var_41 = var_22;
        var_49 = (type_5)(var_15 >> 0x20);
        var_50 = (type_2 *)var_15;
        var_38 = (int)var_58 + var_16;
        if (var_25._4_4_ + (type_5)var_36(var_37,(type_5)var_25) + var_29 +
            (type_5)var_36(var_37 + (type_5)var_25,var_16) <
            (type_5)(var_37 + (type_5)var_25 + var_16 < var_22)) {
          var_24 = var_1 + var_38 + (type_5)var_25;
        }
        else {
          if (var_2 == 0) {
            if ((var_3 != 0 || var_4 != 0) && (var_6 == 0)) {
LAB_00056993:
              if (var_5 == 0) {
                var_68 = var_39 + var_40;
                var_68->pointer_size = (type_5)var_34;
                *(int *)((int)&var_68->cu_offset + 4) = var_29;
                *(type_5 *)&var_68->cu_offset = var_16;
                var_68->offset_size = (type_5)var_43;
                var_68->dwarf_version = (type_5)var_32;
                *(type_20 *)&var_68->base_address = 0;
                *(type_20 *)((int)&var_68->base_address + 4) = 0;
                *(type_20 *)&var_68->addr_base = 0xffffffff;
                *(type_20 *)((int)&var_68->addr_base + 4) = 0;
                *(type_20 *)&var_68->ranges_base = 0xffffffff;
                *(type_20 *)((int)&var_68->ranges_base + 4) = 0;
                var_68->loc_offsets = (type_9 *)0x0;
                var_68->have_frame_base = (int *)0x0;
                var_68->max_loc_offsets = 0;
                var_68->num_loc_offsets = 0;
                var_68->range_lists = (type_9 *)0x0;
                var_68->max_range_lists = 0;
                var_68->num_range_lists = 0;
              }
              if (var_2 != 0) goto LAB_00056a44;
            }
            if (var_41 == 0) {
              pcVar17 = var_12("x",var_13(in_stack_fffffee8) << 0x20,var_16);
              var_54 = (char *)var_8(0,"  Compilation Unit @ offset 0x%s:\n",5);
              var_42(var_54);
              var_54 = "64-bit";
              if (var_43 != (type_2 *)0x8) {
                var_54 = "32-bit";
              }
              pcVar17 = var_12("x",var_13(pcVar17) << 0x20,(type_5)var_25);
              pcVar19 = (char *)var_8(0,"   Length:        0x%s (%s)\n",5);
              var_42(pcVar19,pcVar17,var_54);
              var_54 = (char *)var_8(0,"   Version:       %d\n",5);
              var_46 = (type_5)var_32;
              var_42(var_54);
              var_54 = var_12("x",(type_18)var_46 << 0x20,(type_5)var_50);
              pcVar17 = (char *)var_8(0,"   Abbrev Offset: 0x%s\n",5);
              var_42(pcVar17,var_54);
              var_54 = (char *)var_8(0,"   Pointer Size:  %d\n",5);
              in_stack_fffffee8 = (char *)(type_5)var_34;
              var_42(var_54);
              if (var_5 != 0) {
                var_54 = var_44(var_45(signature_low._4_4_,(type_20)signature_low),
                                         var_45(var_10,buf),(char *)signature_high,
                                         signature_high._4_4_);
                pcVar17 = (char *)var_8(0,"   Signature:     0x%s\n",5);
                var_42(pcVar17);
                in_stack_fffffee8 = var_12("x",var_13(var_54) << 0x20,(type_5)local_bc);
                var_54 = (char *)var_8(0,"   Type Offset:   0x%s\n",5);
                var_42(var_54);
              }
              if (var_31 != (type_14 *)0x0) {
                var_54 = "   Section contributions:\n";
                pcVar17 = (char *)var_8(0,"   Section contributions:\n",5);
                var_42(pcVar17);
                pcVar17 = var_12("x",var_13(var_54) << 0x20,var_31->section_sizes[3]);
                var_54 = var_12("x",var_13(var_54) << 0x20,
                                         (type_5)var_31->section_offsets[3]);
                pcVar19 = (char *)var_8(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);
                var_42(pcVar19,var_54,pcVar17);
                pcVar17 = var_12("x",var_13(var_54) << 0x20,var_31->section_sizes[4]);
                var_54 = var_12("x",var_13(var_54) << 0x20,
                                         (type_5)var_31->section_offsets[4]);
                pcVar19 = (char *)var_8(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);
                var_42(pcVar19,var_54,pcVar17);
                pcVar17 = var_12("x",var_13(var_54) << 0x20,var_31->section_sizes[5]);
                var_54 = var_12("x",var_13(var_54) << 0x20,
                                         (type_5)var_31->section_offsets[5]);
                pcVar19 = (char *)var_8(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);
                var_42(pcVar19,var_54,pcVar17);
                pcVar17 = var_12("x",var_13(var_54) << 0x20,var_31->section_sizes[6]);
                in_stack_fffffee8 =
                     var_12("x",var_13(var_54) << 0x20,(type_5)var_31->section_offsets[6]);
                var_54 = (char *)var_8(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);
                var_42(var_54,in_stack_fffffee8,pcVar17);
              }
            }
          }
          else if (var_6 == 0) goto LAB_00056993;
LAB_00056a44:
          var_46 = var_25._4_4_ + (type_5)var_36((type_5)var_25,var_38);
          if ((var_46 < ((type_5)var_25 + var_38 < var_38)) ||
             (var_47 = *(type_5 *)((int)&section->size + 4),
             var_47 < var_46 ||
             var_47 - var_46 < (type_5)((type_5)section->size < (type_5)var_25 + var_38))) {
            pcVar17 = var_12("x",var_13(in_stack_fffffee8) << 0x20,(type_5)var_25);
            var_54 = section->name;
            pcVar19 = (char *)var_8(0,
                                        "Debug info is corrupted, %s header at %#lx has length %s\n"
                                        ,5);
            var_14(pcVar19,var_54,var_16,pcVar17);
            var_17 = var_40;
            break;
          }
          var_24 = var_24 + (int)var_58 + (type_5)var_25;
          if ((type_17)(var_32 - 2) < 4) {
            if (var_33 - 1U < 2) {
              var_10 = (type_4 *)0x572c5;
              var_48();
              if (var_49 < (var_50 < var_51)) {
                var_29 = var_21 * 0x40;
                var_54 = *(char **)(&DAT_000b485c + var_29);
                pdVar9 = (type_2 *)((int)&var_51->uncompressed_name + var_52);
                var_38 = var_53 + (type_5)var_36((type_5)var_51,var_52);
                if (*(type_5 *)(&DAT_000b4860 + var_29) < var_38 ||
                    *(type_5 *)(&DAT_000b4860 + var_29) - var_38 <
                    (type_5)(var_54 < (char *)((int)&var_51->uncompressed_name + var_52))) {
                  pcVar17 = (char *)var_8(0,
                                              "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"
                                              ,5);
                  var_14(pcVar17,pdVar9,var_54);
                  in_stack_fffffee8 = (char *)pdVar9;
                }
                else if (var_55 == (type_7 *)0x0) {
                  var_10 = (type_4 *)0x57341;
                  var_56
                            ((type_4 *)((int)&var_50->uncompressed_name +
                                      *(int *)(&DAT_000b4850 + var_29) + var_52),
                             (type_4 *)((int)&pdVar9->uncompressed_name +
                                      *(int *)(&DAT_000b4850 + var_29)));
                }
              }
              else {
                var_54 = (char *)var_8(0,
                                            "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"
                                            ,5);
                var_14(var_54,var_50,var_51);
                in_stack_fffffee8 = (char *)var_50;
              }
              if (var_26 < var_24) {
                local_78 = (type_2 *)0xffffffff;
                local_70 = (type_2 *)0x0;
                var_58 = (type_2 *)0x0;
                do {
                  var_59 = (type_2 *)(var_26 + -(int)var_1);
                  pdVar9 = (type_2 *)0x0;
                  in_stack_fffffee8 = buf;
                  var_10 = var_24;
                  dVar28 = var_57(var_26,(type_5 *)buf,0,var_24);
                  var_41 = (type_6)dVar28;
                  var_26 = var_26 + buf._0_4_;
                  if (var_41 == 0) {
                    if ((var_58 == (type_2 *)0x0) && (var_7 == var_24)) {
                      var_11 = var_26;
                      if (var_26 < var_24) {
                        while (*var_11 == '\0') {
                          var_11 = var_11 + 1;
                          if (var_24 == var_11) goto LAB_00056ae6;
                        }
                      }
                      else if (var_24 == var_26) break;
                      if (((var_2 == 0) && (var_22 <= var_59)) &&
                         ((0 < var_60 || (var_60 == -1)))) {
                        pdVar9 = (type_2 *)0xffffffff;
LAB_00057496:
                        var_54 = (char *)var_8(0," <%d><%lx>: Abbrev Number: 0\n",5);
                        var_42(var_54,var_58,var_59);
                        in_stack_fffffee8 = (char *)var_58;
                        if (-1 < (int)pdVar9) goto LAB_00057428;
                      }
                      else {
                        pdVar9 = (type_2 *)0xffffffff;
                        var_58 = (type_2 *)in_stack_fffffee8;
                      }
LAB_000574d0:
                      in_stack_fffffee8 = (char *)var_58;
                      if (function_1::lexical_block_12::lexical_block_12_26::
                          lexical_block_12_26_8::var_61 < 3) {
                        var_54 = section->name;
                        pcVar17 = (char *)var_8(0,
                                                  "Bogus end-of-siblings marker detected at offset %lx in %s section\n"
                                                  ,5);
                        var_14(pcVar17,var_59,var_54);
                        process_debug_info::lexical_block_12::lexical_block_12_26::
                        lexical_block_12_26_8::var_61 =
                             function_1::lexical_block_12::lexical_block_12_26::
                             lexical_block_12_26_8::var_61 + 1;
                        in_stack_fffffee8 = (char *)var_59;
                        if (function_1::lexical_block_12::lexical_block_12_26::
                            lexical_block_12_26_8::var_61 == 3) {
                          in_stack_fffffee8 =
                               "Further warnings about bogus end-of-sibling markers suppressed\n";
                          var_54 = (char *)var_8(0,
                                                  "Further warnings about bogus end-of-sibling markers suppressed\n"
                                                  ,5);
                          var_14(var_54);
                        }
                      }
                    }
                    else {
                      pdVar9 = (type_2 *)((int)&var_58[-1].user_data + 3);
                      if (((var_2 == 0) && (var_22 <= var_59)) &&
                         (((int)var_58 < var_60 || (var_60 == -1))))
                      goto LAB_00057496;
                      var_58 = (type_2 *)in_stack_fffffee8;
                      if ((int)pdVar9 < 0) goto LAB_000574d0;
                    }
LAB_00057428:
                    var_58 = pdVar9;
                    if ((var_22 != 0) && ((int)pdVar9 < (int)local_78)) {
                      return 1;
                    }
                  }
                  else {
                    if (var_2 == 0) {
                      if (var_22 != 0) {
                        if (var_59 < var_22) {
                          bVar20 = false;
                          var_29 = 0;
                          goto LAB_0005783c;
                        }
                        if ((type_2 *)var_22 == var_59) {
                          local_78 = var_58;
                        }
                      }
                      bVar20 = var_60 == -1 || (int)var_58 < var_60;
                      if (var_60 == -1 || (int)var_58 < var_60) {
                        in_stack_fffffee8 = " <%d><%lx>: Abbrev Number: %lu";
                        pdVar9 = (type_2 *)0x5;
                        var_54 = (char *)var_8(0," <%d><%lx>: Abbrev Number: %lu",5);
                        var_42(var_54,var_58,var_59,var_41);
                        local_70 = var_58;
                        var_29 = 1;
                      }
                      else if ((int)local_70 < var_60) {
                        var_54 = (char *)var_8(0," <%d><%lx>: ...\n",5);
                        in_stack_fffffee8 = (char *)var_58;
                        pdVar9 = var_59;
                        var_42(var_54,var_58,var_59);
                        local_70 = var_58;
                        var_29 = 0;
                      }
                      else {
                        local_70 = var_58;
                        var_29 = 0;
                      }
                    }
                    else {
                      bVar20 = false;
                      var_29 = var_2;
                    }
LAB_0005783c:
                    if (var_55 == (type_7 *)0x0) {
LAB_00057dbe:
                      if (bVar20) {
                        var_62(10);
                        var_63(*(type_21 **)PTR_stdout_000b3fd8);
                      }
                      var_54 = (char *)var_8(0,
                                                  "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"
                                                  ,5);
                      var_14(var_54,var_59,var_41);
                      return 0;
                    }
                    var_64 = var_55->entry;
                    var_65 = var_55;
                    while (var_64 != var_41) {
                      var_65 = var_65->next;
                      if (var_65 == (type_7 *)0x0) goto LAB_00057dbe;
                      var_64 = var_65->entry;
                    }
                    var_41 = var_65->tag;
                    if (bVar20) {
                      var_10 = (type_4 *)0x57bcc;
                      in_stack_fffffee8 = var_66(var_41);
                      var_42(" (%s)\n",in_stack_fffffee8,pdVar9);
                      var_41 = var_65->tag;
                    }
                    if (var_41 == 0x11) {
                      need_base_address = 1;
                      need_dwo_info = var_2;
                    }
                    else if ((var_41 == 0x2e) || (var_41 == 3)) {
                      need_base_address = 0;
                      have_frame_base = 0;
                    }
                    else {
                      need_base_address = 0;
                    }
                    if (((var_39 == (type_12 *)0x0) ||
                        (var_67 <= var_40)) ||
                       (var_68 = var_39 + var_40, var_68 == (type_12 *)0x0)) {
                      var_69 = var_65->first_attr;
                      if ((var_69 != (type_13 *)0x0) &&
                         (var_68 = (type_12 *)0x0, var_69->attribute != 0)) {
LAB_000578fa:
                        local_bc = var_13(var_43);
                        do {
                          if (bVar20) {
                            var_42("    <%lx>",(int)var_26 - (int)var_1);
                          }
                          var_41 = var_69->form;
                          implicit_const = var_69->implicit_const;
                          var_64 = var_69->attribute;
                          if (var_29 == 1 && var_2 == 0) {
                            var_10 = (type_4 *)0x579ff;
                            in_stack_fffffee8 = var_70(var_64);
                            var_42("   %-18s:");
                            var_26 = var_71
                                                (var_64,var_41,implicit_const,var_26,var_7,
                                                 (type_22)(int)var_16,(type_18)(type_5)var_34,
                                                 local_bc,(type_5)var_32,var_68,0,section,var_31,
                                                 ' ');
                            var_62(10);
                            var_69 = var_69->next;
                          }
                          else {
                            var_10 = (type_4 *)0x20;
                            in_stack_fffffee8 = (char *)section;
                            var_26 = var_71
                                                (var_64,var_41,var_69->implicit_const,var_26,var_7,
                                                 (type_22)(int)var_16,(type_18)(type_5)var_34,
                                                 local_bc,(type_5)var_32,var_68,1,section,var_31,
                                                 ' ');
                            var_69 = var_69->next;
                          }
                        } while ((var_69 != (type_13 *)0x0) && (var_69->attribute != 0));
                        if (var_68 != (type_12 *)0x0) goto LAB_00057a88;
                      }
                    }
                    else {
                      if (var_68->num_loc_offsets != var_68->num_loc_views) {
                    /* WARNING: Subroutine does not return */
                        var_72("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"
                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");
                      }
                      var_69 = var_65->first_attr;
                      if (var_69 != (type_13 *)0x0) {
                        if (var_69->attribute != 0) goto LAB_000578fa;
LAB_00057a88:
                        var_38 = var_68->num_loc_offsets;
                        var_46 = var_68->num_loc_views;
                        if (var_38 - var_46 == 1) {
                          var_73 = var_68->loc_views;
                          *(type_20 *)(var_73 + var_46) = 0xffffffff;
                          *(type_20 *)((int)var_73 + var_46 * 8 + 4) = 0xffffffff;
                          var_68->num_loc_views = var_46 + 1;
                          if (var_46 + 1 != var_38) {
                    /* WARNING: Subroutine does not return */
                            var_72("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"
                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");
                          }
                        }
                        else if (var_38 != var_46) {
                          if (var_38 - var_46 != -1) {
                    /* WARNING: Subroutine does not return */
                            var_72("0","../../binutils/dwarf.c",0xcab,"process_debug_info");
                          }
                          in_stack_fffffee8 = "DIE has locviews without loclist\n";
                          var_54 = (char *)var_8(0,"DIE has locviews without loclist\n",5);
                          var_14(var_54);
                          var_68->num_loc_views = var_68->num_loc_views - 1;
                        }
                      }
                    }
                    var_58 = (type_2 *)
                               ((int)&var_58->uncompressed_name + (type_5)(var_65->children != 0));
                  }
                } while (var_26 < var_24);
              }
            }
            else {
              in_stack_fffffee8 = var_12("x",var_13(in_stack_fffffee8) << 0x20,var_16);
              var_54 = (char *)var_8(0,
                                          "CU at offset %s contains corrupt or unsupported unit type: %d.\n"
                                          ,5);
              var_14(var_54,in_stack_fffffee8,var_33);
            }
          }
          else {
            in_stack_fffffee8 = var_12("x",var_13(in_stack_fffffee8) << 0x20,var_16);
            var_54 = (char *)var_8(0,
                                        "CU at offset %s contains corrupt or unsupported version number: %d.\n"
                                        ,5);
            var_14(var_54,in_stack_fffffee8,(type_5)var_32);
          }
        }
LAB_00056ae6:
        var_40 = var_40 + 1;
      } while (var_24 < var_7);
      if (var_2 != 0) goto LAB_00057752;
    }
    if ((var_3 == 0 && var_4 == 0) ||
       (var_5 != 0 || var_6 != 0)) goto LAB_00056b59;
  }
  else {
    if (var_5 == 0 && var_6 == 0) goto LAB_00056b86;
    var_10 = (type_4 *)0x5770c;
    var_20(var_21,file);
    if (*(int *)(&DAT_000b4850 + var_21 * 0x40) == 0) goto LAB_00057bf6;
    var_17 = 0;
    if (var_1 < var_7) goto LAB_0005662b;
LAB_00057752:
    if (var_5 != 0 || var_6 != 0) {
      return 1;
    }
  }
  var_6 = var_67;
  if (var_17 <= var_67) {
    var_6 = var_17;
  }
  if (var_2 != 0) {
    return 1;
  }
LAB_00056b59:
  var_62(10);
  return 1;
}


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

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */

undefined4 __regparm3
MASKED(int param_1,undefined4 param_2,int param_3,int param_4,uint param_5)

{
  int iVar1;
  int *piVar2;
  undefined *puVar3;
  longlong lVar4;
  undefined8 uVar5;
  byte bVar6;
  int iVar7;
  uint uVar8;
  uint uVar9;
  undefined4 uVar10;
  uint uVar11;
  uint *puVar12;
  uint uVar13;
  undefined4 uVar14;
  char *pcVar15;
  char *pcVar16;
  char *pcVar17;
  char *pcVar18;
  void *pvVar19;
  undefined4 uVar20;
  bool bVar21;
  int iVar22;
  uint uVar23;
  int *piVar24;
  char *pcVar25;
  int iVar26;
  undefined8 uVar27;
  longlong lVar28;
  char *local_f4;
  uint local_f0;
  int local_ec;
  ushort local_e2;
  int local_d4;
  undefined4 local_cc;
  int local_b4;
  uint local_b0;
  uint local_ac;
  uint local_a4;
  uint local_a0;
  uint local_9c;
  int local_98;
  uint local_90;
  int local_78;
  int local_70;
  undefined4 local_6c;
  undefined4 local_68;
  undefined4 local_64;
  undefined4 local_60;
  int local_5c [18];
  undefined4 uStack_14;
  
  uStack_14 = 0x5653b;
  pcVar15 = *(char **)(param_1 + 0x10);
  pcVar25 = pcVar15 + *(int *)(param_1 + 0x1c);
  if (param_4 == 0) {
    if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0)) {
      local_90 = 0;
    }
    else {
LAB_00056b86:
      local_90 = 0;
      pcVar18 = pcVar15;
      if (pcVar25 <= pcVar15) {
LAB_00057e2b:
        uVar10 = *(undefined4 *)(param_1 + 8);
        uVar14 = dcgettext(0,"No comp units in %s section ?\n",5);
        error(uVar14,uVar10);
        return 0;
      }
      do {
        pcVar17 = pcVar18 + 4;
        if (pcVar25 <= pcVar17) {
          iVar7 = (int)pcVar25 - (int)pcVar18;
          if (iVar7 - 1U < 8) goto LAB_000570ed;
LAB_00056bdf:
          uVar10 = *(undefined4 *)(param_1 + 8);
          uVar14 = FUN_0004cb50(0);
          pcVar15 = "Corrupt unit length (0x%s) found in section %s\n";
LAB_00056c0d:
          uVar20 = dcgettext(0,pcVar15,5);
          warn(uVar20,uVar14,uVar10);
          return 0;
        }
        iVar7 = 4;
LAB_000570ed:
        lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);
        if (lVar28 == 0xffffffff) {
          if (pcVar18 + 0xc < pcVar25) {
            iVar7 = 8;
          }
          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))
          goto LAB_00056bdf;
          iVar7 = (*DAT_000b9dd8)(pcVar17,iVar7);
          pcVar18 = pcVar18 + iVar7 + 0xc;
          bVar21 = pcVar18 < pcVar15 || iVar7 < 1;
        }
        else {
          iVar7 = (int)((ulonglong)(lVar28 + -0xfffffff0) >> 0x20);
          if (iVar7 == 0 && (uint)(0xe < (uint)(lVar28 + -0xfffffff0)) <= (uint)-iVar7) {
            uVar10 = *(undefined4 *)(param_1 + 8);
            uVar14 = FUN_0004cb50(0);
            pcVar15 = "Reserved length value (0x%s) found in section %s\n";
            goto LAB_00056c0d;
          }
          pcVar18 = pcVar18 + (int)lVar28 + 4;
          bVar21 = (int)lVar28 < 1 || pcVar18 < pcVar15;
        }
        if (bVar21) goto LAB_00056bdf;
        local_90 = local_90 + 1;
      } while (pcVar18 < pcVar25);
      if (local_90 == 0) goto LAB_00057e2b;
      if (0x3333332 < local_90) {
        DAT_000b9d64 = (void *)0x0;
        uVar10 = dcgettext(0,"Not enough memory for a debug info array of %u entries\n",5);
        error(uVar10,local_90);
        DAT_000b9d68 = 0;
        DAT_000b9d6c = 0;
        return 0;
      }
      DAT_000b9d64 = (void *)FUN_0006b190(local_90 * 0x50);
      memset(DAT_000b9d64,0,local_90 * 0x50);
      DAT_000b9d68 = local_90;
      if (param_4 != 0) {
        FUN_0004e130();
        if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;
        param_5 = 0;
        goto LAB_0005662b;
      }
    }
    FUN_0004e130();
    FUN_0004e130();
    FUN_0004e130();
    FUN_0004e130();
    FUN_0004e130();
    FUN_0004e130();
    FUN_0004e130();
    if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) {
LAB_00057bf6:
      puVar3 = (&PTR_s__debug_abbrev_000b4840)[param_3 * 0x10];
      uVar10 = dcgettext(0,"Unable to locate %s section!\n",5);
      warn(uVar10,puVar3);
      return 0;
    }
    if (DAT_000b9dd4 == 0) {
      FUN_0004eb80();
    }
    if (pcVar15 < pcVar25) {
LAB_0005662b:
      local_a4 = 0;
      local_f4 = pcVar15;
      do {
        local_6c = 0;
        local_68 = 0;
        local_64 = 0;
        pcVar18 = local_f4 + 4;
        local_60 = 0;
        pcVar17 = pcVar18;
        if (pcVar18 < pcVar25) {
          iVar7 = 4;
LAB_00056d25:
          lVar28 = (*DAT_000b9dd8)(local_f4,iVar7);
          if (lVar28 == 0xffffffff) {
            pcVar17 = local_f4 + 0xc;
            if (pcVar17 < pcVar25) {
              iVar7 = 8;
            }
            else if ((pcVar25 <= pcVar18) || (iVar7 = (int)pcVar25 - (int)pcVar18, 7 < iVar7 - 1U))
            {
              local_cc = 0xc;
              pcVar16 = local_f4 + 0xe;
              local_d4 = 0xc;
              local_f0 = 8;
              goto joined_r0x00056d9b;
            }
            pcVar16 = local_f4 + 0xe;
            lVar28 = (*DAT_000b9dd8)(pcVar18,iVar7);
            local_cc = 0xc;
            local_d4 = 0xc;
            local_f0 = 8;
          }
          else {
            pcVar16 = local_f4 + 6;
            local_cc = 4;
            local_d4 = 4;
            local_f0 = 4;
          }
          if (pcVar16 < pcVar25) {
            iVar7 = 2;
          }
          else if ((pcVar25 <= pcVar17) || (iVar7 = (int)pcVar25 - (int)pcVar17, 7 < iVar7 - 1U))
          goto LAB_00056db1;
LAB_000566e9:
          local_e2 = (*DAT_000b9dd8)(pcVar17,iVar7);
        }
        else {
          iVar7 = (int)pcVar25 - (int)local_f4;
          if (iVar7 - 1U < 8) goto LAB_00056d25;
          local_cc = 4;
          pcVar16 = local_f4 + 6;
          local_d4 = 4;
          local_f0 = 4;
joined_r0x00056d9b:
          if (pcVar16 < pcVar25) {
            iVar7 = 2;
            lVar28 = 0;
            goto LAB_000566e9;
          }
          lVar28 = 0;
LAB_00056db1:
          local_e2 = 0;
        }
        local_ec = (int)lVar28;
        uVar8 = (int)local_f4 - (int)pcVar15;
        uVar9 = (int)uVar8 >> 0x1f;
        if (param_5 == 0) {
          iVar22 = 1;
          iVar7 = DAT_000b9d34;
          iVar26 = DAT_000b9d2c;
        }
        else {
          iVar22 = 2;
          iVar7 = DAT_000b9d30;
          iVar26 = DAT_000b9d28;
        }
        for (; iVar7 != 0; iVar7 = iVar7 + -1) {
          if (uVar9 == *(uint *)(iVar26 + 0xc + iVar22 * 8) &&
              uVar8 == *(uint *)(iVar26 + 8 + iVar22 * 8)) goto joined_r0x0005676e;
          iVar26 = iVar26 + 0x68;
        }
        iVar26 = 0;
joined_r0x0005676e:
        uVar13 = local_f0;
        if (local_e2 < 5) {
          local_b4 = 1;
          bVar6 = 0xff;
joined_r0x000567df:
          pcVar18 = pcVar16 + local_f0;
          if ((pcVar18 < pcVar25) ||
             ((pcVar16 < pcVar25 &&
              (uVar13 = (int)pcVar25 - (int)pcVar16, ((int)pcVar25 - (int)pcVar16) - 1U < 8))))
          goto LAB_00056caa;
LAB_000567f7:
          uVar27 = 0;
          uVar5 = 0;
          if (iVar26 != 0) goto LAB_0005680f;
LAB_00056cce:
          uVar27 = uVar5;
          local_9c = 0;
          local_98 = 0;
          local_ac = *(uint *)(&DAT_000b485c + param_3 * 0x40);
        }
        else {
          pcVar18 = pcVar17 + 3;
          if (pcVar18 < pcVar25) {
            iVar7 = 1;
LAB_00057245:
            local_b4 = (*DAT_000b9dd8)(pcVar16,iVar7);
            param_5 = (uint)(local_b4 == 2);
            iVar7 = 1;
            if ((pcVar17 + 4 < pcVar25) ||
               ((pcVar18 < pcVar25 && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8)))) {
LAB_000567c4:
              pcVar16 = pcVar17 + 4;
              bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);
              goto joined_r0x000567df;
            }
          }
          else {
            if ((pcVar16 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar16, iVar7 - 1U < 8))
            goto LAB_00057245;
            param_5 = 0;
            local_b4 = 0;
            if (pcVar17 + 4 < pcVar25) {
              iVar7 = 1;
              goto LAB_000567c4;
            }
          }
          pcVar16 = pcVar17 + 4;
          bVar6 = 0;
          pcVar18 = pcVar16 + local_f0;
          if (pcVar25 <= pcVar18) goto LAB_000567f7;
LAB_00056caa:
          uVar27 = (*DAT_000b9dd8)(pcVar16,uVar13);
          uVar5 = uVar27;
          if (iVar26 == 0) goto LAB_00056cce;
LAB_0005680f:
          local_9c = *(uint *)(iVar26 + 0x20);
          local_98 = *(int *)(iVar26 + 0x24);
          local_ac = *(uint *)(iVar26 + 0x54);
        }
        local_a0 = (uint)((ulonglong)uVar27 >> 0x20);
        local_b0 = (uint)uVar27;
        pcVar17 = pcVar18;
        if (local_e2 < 5) {
          pcVar17 = pcVar18 + 1;
          if (pcVar17 < pcVar25) {
            iVar7 = 1;
LAB_00056c35:
            bVar6 = (*DAT_000b9dd8)(pcVar18,iVar7);
            goto LAB_00056c57;
          }
          if ((pcVar18 < pcVar25) && (iVar7 = (int)pcVar25 - (int)pcVar18, iVar7 - 1U < 8))
          goto LAB_00056c35;
          bVar6 = 0;
LAB_00056853:
          uVar10 = dcgettext(0,"Invalid pointer size (%d) in compunit header, using %d instead\n",5)
          ;
          warn(uVar10,bVar6,local_f0);
          bVar6 = (byte)local_f0;
        }
        else {
LAB_00056c57:
          if (6 < (byte)(bVar6 - 2)) goto LAB_00056853;
        }
        if (param_5 != 0) {
          pcVar18 = pcVar17 + 8;
          if (pcVar25 < pcVar18) {
            local_6c = 0;
            local_68 = 0;
            local_64 = 0;
            local_60 = 0;
          }
          else {
            FUN_000670f0(pcVar17,&local_6c,&local_64);
          }
          pcVar17 = pcVar18 + local_f0;
          uVar13 = local_f0;
          if ((pcVar17 < pcVar25) ||
             ((pcVar18 < pcVar25 &&
              (uVar13 = (int)pcVar25 - (int)pcVar18, ((int)pcVar25 - (int)pcVar18) - 1U < 8)))) {
            (*DAT_000b9dd8)(pcVar18,uVar13);
          }
        }
        uVar13 = DAT_000b9dd4;
        uVar11 = local_d4 + uVar8;
        lVar4 = lVar28 + CONCAT44(uVar9,local_cc) + (ulonglong)uVar8;
        if ((uint)((ulonglong)lVar4 >> 0x20) < (uint)((uint)lVar4 < DAT_000b9dd4)) {
          local_f4 = pcVar15 + uVar11 + local_ec;
        }
        else {
          if (param_4 == 0) {
            if ((DAT_000b9d90 != 0 || DAT_000b9db4 != 0) && (DAT_000b9d6c == 0)) {
LAB_00056993:
              if (param_5 == 0) {
                puVar12 = (uint *)(local_a4 * 0x50 + (int)DAT_000b9d64);
                *puVar12 = (uint)bVar6;
                puVar12[4] = uVar9;
                puVar12[3] = uVar8;
                puVar12[1] = local_f0;
                puVar12[2] = (uint)local_e2;
                puVar12[5] = 0;
                puVar12[6] = 0;
                puVar12[7] = 0xffffffff;
                puVar12[8] = 0;
                puVar12[9] = 0xffffffff;
                puVar12[10] = 0;
                puVar12[0xb] = 0;
                puVar12[0xd] = 0;
                puVar12[0xf] = 0;
                puVar12[0xe] = 0;
                puVar12[0x11] = 0;
                puVar12[0x13] = 0;
                puVar12[0x12] = 0;
              }
              if (param_4 != 0) goto LAB_00056a44;
            }
            if (uVar13 == 0) {
              uVar10 = FUN_0004cb50(0);
              pcVar18 = (char *)dcgettext(0,"  Compilation Unit @ offset 0x%s:\n",5);
              printf(pcVar18,uVar10);
              pcVar18 = "64-bit";
              if (local_f0 != 8) {
                pcVar18 = "32-bit";
              }
              uVar10 = FUN_0004cb50(0);
              pcVar16 = (char *)dcgettext(0,"   Length:        0x%s (%s)\n",5);
              printf(pcVar16,uVar10,pcVar18);
              pcVar18 = (char *)dcgettext(0,"   Version:       %d\n",5);
              printf(pcVar18,(uint)local_e2);
              uVar10 = FUN_0004cb50(0);
              pcVar18 = (char *)dcgettext(0,"   Abbrev Offset: 0x%s\n",5);
              printf(pcVar18,uVar10);
              pcVar18 = (char *)dcgettext(0,"   Pointer Size:  %d\n",5);
              printf(pcVar18,(uint)bVar6);
              if (param_5 != 0) {
                uVar10 = FUN_0004eae0(local_64,local_60,local_5c);
                pcVar18 = (char *)dcgettext(0,"   Signature:     0x%s\n",5);
                printf(pcVar18,uVar10);
                uVar10 = FUN_0004cb50(0);
                pcVar18 = (char *)dcgettext(0,"   Type Offset:   0x%s\n",5);
                printf(pcVar18,uVar10);
              }
              if (iVar26 != 0) {
                pcVar18 = (char *)dcgettext(0,"   Section contributions:\n",5);
                printf(pcVar18);
                uVar10 = FUN_0004cb50(0);
                uVar14 = FUN_0004cb50(0);
                pcVar18 = (char *)dcgettext(0,"    .debug_abbrev.dwo:       0x%s  0x%s\n",5);
                printf(pcVar18,uVar14,uVar10);
                uVar10 = FUN_0004cb50(0);
                uVar14 = FUN_0004cb50(0);
                pcVar18 = (char *)dcgettext(0,"    .debug_line.dwo:         0x%s  0x%s\n",5);
                printf(pcVar18,uVar14,uVar10);
                uVar10 = FUN_0004cb50(0);
                uVar14 = FUN_0004cb50(0);
                pcVar18 = (char *)dcgettext(0,"    .debug_loc.dwo:          0x%s  0x%s\n",5);
                printf(pcVar18,uVar14,uVar10);
                uVar10 = FUN_0004cb50(0);
                uVar14 = FUN_0004cb50(0);
                pcVar18 = (char *)dcgettext(0,"    .debug_str_offsets.dwo:  0x%s  0x%s\n",5);
                printf(pcVar18,uVar14,uVar10);
              }
            }
          }
          else if (DAT_000b9d6c == 0) goto LAB_00056993;
LAB_00056a44:
          uVar13 = (uint)(lVar28 + (ulonglong)uVar11);
          uVar23 = (uint)(lVar28 + (ulonglong)uVar11 >> 0x20);
          if ((uVar23 < (uVar13 < uVar11)) ||
             (*(uint *)(param_1 + 0x20) < uVar23 ||
              *(uint *)(param_1 + 0x20) - uVar23 < (uint)(*(uint *)(param_1 + 0x1c) < uVar13))) {
            uVar14 = FUN_0004cb50(0);
            uVar10 = *(undefined4 *)(param_1 + 8);
            uVar20 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);
            warn(uVar20,uVar10,uVar8,uVar14);
            local_90 = local_a4;
            break;
          }
          local_f4 = local_f4 + local_d4 + local_ec;
          if ((ushort)(local_e2 - 2) < 4) {
            if (local_b4 - 1U < 2) {
              FUN_0004ce90();
              if (local_a0 < (local_b0 < local_ac)) {
                uVar13 = *(uint *)(&DAT_000b485c + param_3 * 0x40);
                uVar11 = local_98 + (uint)CARRY4(local_ac,local_9c);
                if (*(uint *)(&DAT_000b4860 + param_3 * 0x40) < uVar11 ||
                    *(uint *)(&DAT_000b4860 + param_3 * 0x40) - uVar11 <
                    (uint)(uVar13 < local_ac + local_9c)) {
                  uVar10 = dcgettext(0,
                                     "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section size (%lx)\n"
                                     ,5);
                  warn(uVar10,local_ac + local_9c,uVar13);
                }
                else if (DAT_000b9ce4 == (int *)0x0) {
                  FUN_0004fb10();
                }
              }
              else {
                uVar10 = dcgettext(0,
                                   "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"
                                   ,5);
                warn(uVar10,local_b0,local_ac);
              }
              if (pcVar17 < local_f4) {
                local_78 = -1;
                local_70 = 0;
                local_d4 = 0;
                do {
                  uVar11 = (int)pcVar17 - (int)pcVar15;
                  uVar13 = 0;
                  iVar7 = FUN_0004f990(pcVar17,local_5c,0,local_f4);
                  pcVar17 = pcVar17 + local_5c[0];
                  if (iVar7 == 0) {
                    if ((local_d4 == 0) && (pcVar25 == local_f4)) {
                      pcVar18 = pcVar17;
                      if (pcVar17 < local_f4) {
                        while (*pcVar18 == '\0') {
                          pcVar18 = pcVar18 + 1;
                          if (local_f4 == pcVar18) goto LAB_00056ae6;
                        }
                      }
                      else if (local_f4 == pcVar17) break;
                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&
                         ((0 < DAT_000b4828 || (DAT_000b4828 == -1)))) {
                        iVar7 = -1;
LAB_00057496:
                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: 0\n",5);
                        printf(pcVar18,local_d4,uVar11);
                        if (-1 < iVar7) goto LAB_00057428;
                      }
                      else {
                        iVar7 = -1;
                      }
LAB_000574d0:
                      if (DAT_000b7ca4 < 3) {
                        uVar10 = *(undefined4 *)(param_1 + 8);
                        uVar14 = dcgettext(0,
                                           "Bogus end-of-siblings marker detected at offset %lx in %s section\n"
                                           ,5);
                        warn(uVar14,uVar11,uVar10);
                        DAT_000b7ca4 = DAT_000b7ca4 + 1;
                        if (DAT_000b7ca4 == 3) {
                          uVar10 = dcgettext(0,
                                             "Further warnings about bogus end-of-sibling markers suppressed\n"
                                             ,5);
                          warn(uVar10);
                        }
                      }
                    }
                    else {
                      iVar7 = local_d4 + -1;
                      if (((param_4 == 0) && (DAT_000b9dd4 <= uVar11)) &&
                         ((local_d4 < DAT_000b4828 || (DAT_000b4828 == -1)))) goto LAB_00057496;
                      if (iVar7 < 0) goto LAB_000574d0;
                    }
LAB_00057428:
                    local_d4 = iVar7;
                    if ((DAT_000b9dd4 != 0) && (iVar7 < local_78)) {
                      return 1;
                    }
                  }
                  else {
                    if (param_4 == 0) {
                      if (DAT_000b9dd4 != 0) {
                        if (uVar11 < DAT_000b9dd4) {
                          bVar21 = false;
                          iVar22 = 0;
                          goto LAB_0005783c;
                        }
                        if (DAT_000b9dd4 == uVar11) {
                          local_78 = local_d4;
                        }
                      }
                      bVar21 = DAT_000b4828 == -1 || local_d4 < DAT_000b4828;
                      if (DAT_000b4828 == -1 || local_d4 < DAT_000b4828) {
                        uVar13 = 5;
                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: Abbrev Number: %lu",5);
                        printf(pcVar18,local_d4,uVar11,iVar7);
                        local_70 = local_d4;
                        iVar22 = 1;
                      }
                      else if (local_70 < DAT_000b4828) {
                        pcVar18 = (char *)dcgettext(0," <%d><%lx>: ...\n",5);
                        uVar13 = uVar11;
                        printf(pcVar18,local_d4,uVar11);
                        local_70 = local_d4;
                        iVar22 = 0;
                      }
                      else {
                        local_70 = local_d4;
                        iVar22 = 0;
                      }
                    }
                    else {
                      bVar21 = false;
                      iVar22 = param_4;
                    }
LAB_0005783c:
                    if (DAT_000b9ce4 == (int *)0x0) {
LAB_00057dbe:
                      if (bVar21) {
                        putchar(10);
                        fflush(*(FILE **)PTR_stdout_000b3fd8);
                      }
                      uVar10 = dcgettext(0,
                                         "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"
                                         ,5);
                      warn(uVar10,uVar11,iVar7);
                      return 0;
                    }
                    iVar1 = *DAT_000b9ce4;
                    piVar2 = DAT_000b9ce4;
                    while (iVar1 != iVar7) {
                      piVar2 = (int *)piVar2[5];
                      if (piVar2 == (int *)0x0) goto LAB_00057dbe;
                      iVar1 = *piVar2;
                    }
                    iVar7 = piVar2[1];
                    if (bVar21) {
                      uVar10 = FUN_0004e780();
                      printf(" (%s)\n",uVar10,uVar13);
                      iVar7 = piVar2[1];
                    }
                    if (iVar7 == 0x11) {
                      DAT_000b9d70 = 1;
                      DAT_000b9d4c = param_4;
                    }
                    else if ((iVar7 == 0x2e) || (iVar7 == 3)) {
                      DAT_000b9d70 = 0;
                      DAT_000b9d74 = 0;
                    }
                    else {
                      DAT_000b9d70 = 0;
                    }
                    if (((DAT_000b9d64 == (void *)0x0) || (DAT_000b9d68 <= local_a4)) ||
                       (pvVar19 = (void *)((int)DAT_000b9d64 + local_a4 * 0x50),
                       pvVar19 == (void *)0x0)) {
                      piVar24 = (int *)piVar2[3];
                      if ((piVar24 != (int *)0x0) && (pvVar19 = (void *)0x0, *piVar24 != 0)) {
LAB_000579c3:
                        do {
                          if (bVar21) {
                            printf("    <%lx>",(int)pcVar17 - (int)pcVar15);
                          }
                          iVar7 = piVar24[2];
                          iVar1 = piVar24[3];
                          if (iVar22 == 1 && param_4 == 0) {
                            uVar10 = FUN_0004e800();
                            printf("   %-18s:",uVar10);
                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,
                                                           bVar6,0,local_f0,0,local_e2,pvVar19,0,
                                                           param_1,iVar26,0x20);
                            putchar(10);
                            piVar24 = (int *)piVar24[4];
                          }
                          else {
                            pcVar17 = (char *)FUN_000530b0(iVar7,iVar1,pcVar17,pcVar25,uVar8,uVar9,
                                                           bVar6,0,local_f0,0,local_e2,pvVar19,1,
                                                           param_1,iVar26,0x20);
                            piVar24 = (int *)piVar24[4];
                          }
                        } while ((piVar24 != (int *)0x0) && (*piVar24 != 0));
                        if (pvVar19 != (void *)0x0) goto LAB_00057a88;
                      }
                    }
                    else {
                      if (*(int *)((int)pvVar19 + 0x38) != *(int *)((int)pvVar19 + 0x40)) {
                    /* WARNING: Subroutine does not return */
                        __assert_fail("!debug_info_p || (debug_info_p->num_loc_offsets == debug_info_p->num_loc_views)"
                                      ,"../../binutils/dwarf.c",0xc7c,"process_debug_info");
                      }
                      piVar24 = (int *)piVar2[3];
                      if (piVar24 != (int *)0x0) {
                        if (*piVar24 != 0) goto LAB_000579c3;
LAB_00057a88:
                        iVar7 = *(int *)((int)pvVar19 + 0x38);
                        iVar22 = *(int *)((int)pvVar19 + 0x40);
                        if (iVar7 - iVar22 == 1) {
                          iVar1 = *(int *)((int)pvVar19 + 0x30);
                          *(undefined4 *)(iVar1 + iVar22 * 8) = 0xffffffff;
                          *(undefined4 *)(iVar1 + 4 + iVar22 * 8) = 0xffffffff;
                          *(int *)((int)pvVar19 + 0x40) = iVar22 + 1;
                          if (iVar22 + 1 != iVar7) {
                    /* WARNING: Subroutine does not return */
                            __assert_fail("debug_info_p->num_loc_views == debug_info_p->num_loc_offsets"
                                          ,"../../binutils/dwarf.c",0xc9f,"process_debug_info");
                          }
                        }
                        else if (iVar7 != iVar22) {
                          if (iVar7 - iVar22 != -1) {
                    /* WARNING: Subroutine does not return */
                            __assert_fail("0","../../binutils/dwarf.c",0xcab,"process_debug_info");
                          }
                          uVar10 = dcgettext(0,"DIE has locviews without loclist\n",5);
                          warn(uVar10);
                          *(int *)((int)pvVar19 + 0x40) = *(int *)((int)pvVar19 + 0x40) + -1;
                        }
                      }
                    }
                    local_d4 = (local_d4 + 1) - (uint)(piVar2[2] == 0);
                  }
                } while (pcVar17 < local_f4);
              }
            }
            else {
              uVar10 = FUN_0004cb50(0);
              uVar14 = dcgettext(0,
                                 "CU at offset %s contains corrupt or unsupported unit type: %d.\n",
                                 5);
              warn(uVar14,uVar10,local_b4);
            }
          }
          else {
            uVar10 = FUN_0004cb50(0);
            uVar14 = dcgettext(0,
                               "CU at offset %s contains corrupt or unsupported version number: %d.\n"
                               ,5);
            warn(uVar14,uVar10,local_e2);
          }
        }
LAB_00056ae6:
        local_a4 = local_a4 + 1;
      } while (local_f4 < pcVar25);
      if (param_4 != 0) goto LAB_00057752;
    }
    if ((DAT_000b9d90 == 0 && DAT_000b9db4 == 0) || (param_5 != 0 || DAT_000b9d6c != 0))
    goto LAB_00056b59;
  }
  else {
    if (param_5 == 0 && DAT_000b9d6c == 0) goto LAB_00056b86;
    FUN_0004e130();
    if (*(int *)(&DAT_000b4850 + param_3 * 0x40) == 0) goto LAB_00057bf6;
    local_90 = 0;
    if (pcVar15 < pcVar25) goto LAB_0005662b;
LAB_00057752:
    if (param_5 != 0 || DAT_000b9d6c != 0) {
      return 1;
    }
  }
  DAT_000b9d6c = DAT_000b9d68;
  if (local_90 <= DAT_000b9d68) {
    DAT_000b9d6c = local_90;
  }
  if (param_4 != 0) {
    return 1;
  }
LAB_00056b59:
  putchar(10);
  return 1;
}

